如何使用转义字符使用javascript拆分方法?

Ksh*_*pta 7 javascript regex

可能重复:
如何在js中拆分字符串,但有一些例外

例如,如果字符串是:

abc&def&ghi\&klm&nop
Run Code Online (Sandbox Code Playgroud)

必需的输出是字符串数组

['abc', 'def', 'ghi\&klm', 'nop]
Run Code Online (Sandbox Code Playgroud)

请建议我最简单的解决方案.

Min*_*hev 6

这是JavaScript中的解决方案:

var str = 'abc&def&ghi\\&klm&nop',
str.match(/([^\\\][^&]|\\&)+/g); //['abc', 'def', 'ghi\&klm', 'nop]
Run Code Online (Sandbox Code Playgroud)

它用于match匹配所有字符([not \ and &] or [\ and &]).


geo*_*org 6

你需要match:

 "abc&def&ghi\\&klm&nop".match(/(\\.|[^&])+/g)
 # ["abc", "def", "ghi\&klm", "nop"]
Run Code Online (Sandbox Code Playgroud)

我假设你的字符串来自外部源并且不是javascript文字.


Isw*_*San -7

尝试这个 :

var v = "abc&def&ghi\&klm&nop";
var s = v.split("&");
for (var i = 0; i < s.length; i++)
    console.log(s[i]);
Run Code Online (Sandbox Code Playgroud)