我有一个包含两个反斜杠的字符串:
str = "active - error - oakp-ms-001 Volume Usage-E:\ PercentUsed E:\"
我希望从上述字符串中仅获取“
oakp-ms-001
”,但由于该字符串中包含反斜杠,因此我无法拆分该字符串。
请告诉我是否有任何解决方案?我有一个包含两个反斜杠的字符串:
str = "active - error - oakp-ms-001 Volume Usage-E:\ PercentUsed E:\"
oakp-ms-001
”,但由于该字符串中包含反斜杠,因此我无法拆分该字符串。
请告诉我是否有任何解决方案?首先,我要指出你引用的代码存在语法错误:
str = "active - error - oakp-ms-001 Volume Usage-E:\ PercentUsed E:\"
那个字符串没有结束符"
,因为末尾的 \
是一个被转义的引号 "
,而不是斜杠后跟的结束引号。
如果字符串中有结束引号,它将不会包含任何反斜杠(带空格的 \
是无效的转义字符,最终只变成了一个空格)。
因此,让我们假设一些有效的内容,而不是语法错误:
str = "active - error - oakp-ms-001 Volume Usage-E:\\ PercentUsed E:\\";
那个字符串里面有反斜杠。
你需要做的事情实际上并不涉及“分割”,但是如果你想在包含反斜杠的内容上进行分割:
var parts = str.split("\\"); // Splits on a single backslash
但是我不明白如何通过拆分来解决你想要的问题。
你需要确定靠近你所需内容的字符串的哪些部分是一致的,然后创建一个东西(可能是具有捕获组的正则表达式),来查找相对于那些不变的文本而言会变化的文本。
例如:
var str = "active - error - oakp-ms-001 Volume Usage-E:\\ PercentUsed E:\\";
var match = str.match(/error - (.*?) ?Volume/);
if (match) {
console.log(match[1]); // oakp-ms-001
}
我假设"error - "
部分和"Volume"
部分(可能在前面有空格)是一致的,并且您想要它们之间的文本。
var parts = str.split("\\");
吗? - VisioN\"
表示字符串中的双引号,双反斜杠表示字符串中的单个反斜杠,\n
表示换行等。 - T.J. CrowderJSON.stringify(fileName).split("\\");
在 split 函数内应该使用双反斜杠
var step3 = [];
for(var i = 0; i < step2.length; i++){
step3 += step2[i].split(" ");
}
然后,您可以通过“,”字符简单地拆分步骤3,并找到“Volume”之前的短语。这可能不是最好的答案,但它可以获取您想要的数据。
转义您的反斜杠!\ 变成 \\,因此实际上您将像这样进行分配:
str = "active - error - oakp-ms-001 Volume Usage-E:\\ PercentUsed E:\\"
这是一个关于这个问题的解决方案 str.split(/[\$]/)
"
符号(末尾的\"
是字符串中的"
字符,如果字符串在某个地方结束,则会输出该字符)。 - T.J. Crowder