如何在javascript中使用反斜杠拆分字符串?

时间:2014-06-25 11:18:52

标签: javascript

我有一个包含两个反斜杠的字符串:

str = "active - error - oakp-ms-001 Volume Usage-E:\ PercentUsed E:\"

我只想选择" oakp-ms-001"从上面的字符串,但由于字符串中包含反斜杠,我无法分割字符串。

如果有任何解决方案,请告诉我?

5 个答案:

答案 0 :(得分:8)

首先,我会注意到您引用的代码有语法错误:

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

但是我没有看到分裂如何帮助你所说的你想要的东西。

你必须确定你想要的字符串的哪些部分是一致的,然后创建一些东西(可能是带有捕获组的正则表达式),它可以找到相对于没有的文本而变化的文本。 / p>

例如:

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"部分(可能在它前面有一个空格)是一致的,并且你想要它们之间的文本。

Live Example

答案 1 :(得分:1)

JSON.stringify(fileName).split(“ \”);

在拆分内应该是双反斜杠enter image description here

答案 2 :(得分:0)

逃避你的反斜杠! \成为\\所以实际上你分配如下:

str =“active - error - oakp-ms-001 Volume Usage-E:\\ PercentUsed E:\\”

答案 3 :(得分:0)

这是一个非终结字符串(您可以转义结束引号),所以我假设您的字符串看起来更像是这样:

str = "active - error - oakp-ms-001 Volume Usage-E:\\ PercentUsed E:\\";

如果你想用反斜杠和空格分割字符串,第一步是用反斜杠分割,如下所示:

step2 = str.split("\\");

请注意,您必须在此处转义反斜杠。

要做的第二件事是现在用空格分割这个字符串,但因为它是一个数组,你必须用一个循环来做这个:

var step3 = [];
for(var i = 0; i < step2.length; i++){
    step3 += step2[i].split(" ");
}

然后你可以简单地将step3拆分为&#34;,&#34;字符并在&#34;卷&#34;之前找到该短语。这可能不是最佳答案,但它可以为您提供所需的数据。

答案 4 :(得分:0)

这是此问题的解决方案 str.split(/ [\ $] /)