在反斜杠或正斜杠上拆分字符串

bfl*_*mi3 3 javascript regex split

鉴于以下测试用例:

  1. res/js/test
  2. res\js\test
  3. res/js\test
  4. res\js/test

如何通过正斜杠或反斜杠拆分字符串?当字符串只是反斜杠(测试用例1)但是对正斜杠或两者的混合(测试用例2,3,4)不起作用时,我的尝试有效.

test.split(/[\\\/]/);
Run Code Online (Sandbox Code Playgroud)

这是我的小动作尝试

Cod*_*rPi 7

你的字符串不包含任何反斜杠,但是esaped \j,并且\t是tab的值.您的代码是正确的,但您的输入不是,使用此:

var test = [
    'res/js/test',
    'res\\js\\test',
    'res/js\\test',
    'res\\js/test'
    ];
Run Code Online (Sandbox Code Playgroud)

只有转义的反斜杠才会在字符串中生成反斜杠 '\\'


Ste*_*aul 6

这就是我最终所做的。

在用正斜杠分割之前,我将所有反斜杠替换为正斜杠。

test.replace(/\\/g, '/').split('/');
Run Code Online (Sandbox Code Playgroud)