我有一个包含两个反斜杠的字符串:
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"
部分(前面可能有一个空格)是一致的,而且你想要他们之间的文字。
关于javascript - 如何在 javascript 中用反斜杠拆分字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24407228/