【问题标题】:Split a string based on multiple delimiters in javascript (including single backslash as separator) [duplicate]根据javascript中的多个分隔符拆分字符串(包括单个反斜杠作为分隔符)[重复]
【发布时间】:2019-08-24 05:02:04
【问题描述】:

我正在尝试通过引用 How split a string in jquery with multiple strings as separator 来拆分基于多个分隔符的字符串,但我需要包含一个反斜杠作为分隔符。

我有这个

var x = 'a/b\c?d@f#g$h%i^j&k:m;n,l.o(p)q{r}t!u`v~x-y+z=A*B_C|D"E\'F G';

var separators = ['/','\\\\','\\\?','@','#','\\\$','%','\\\^','&',':',';',',','\\\.','\\\(','\\\)','{','}','!','`','~','-','\\\+','=','\\\*','_','\\\|','\\\"','\\\'',' '];
console.log(separators.join('|'));
var tokens = x.split(new RegExp(separators.join('|'), 'g'));
console.log(tokens);

这是我的结果

["a", "bc", "d", "f", "g", "h", "i", "j", "k", "m", "n", "l", "o", "p", "q", "r", "t", "u", "v", "x", "y", "z", "A", "B", "C", "D", "E", "F", "G"]

注意 b\c 没有被拆分

我在分隔符列表中尝试了 '\\\'、'\\' 和 '\' 但没有任何效果。

谢谢

【问题讨论】:

标签: javascript regex backslash separator csv


【解决方案1】:

根据 Pushpesh Kumar Rajwanshi 的回答,\ 充当转义字符。注意下面使用\\ 作为有效分隔符现在可以使用。

另请参阅:How to split a string with a backslash in javascript?

var x = 'a/b\\c?d@f#g$h%i^j&k:m;n,l.o(p)q{r}t!u`v~x-y+z=A*B_C|D"E\'F G';

var separators = ['/','\\\\','\\\?','@','#','\\\$','%','\\\^','&',':',';',',','\\\.','\\\(','\\\)','{','}','!','`','~','-','\\\+','=','\\\*','_','\\\|','\\\"','\\\'',' '];
console.log(separators.join('|'));
var tokens = x.split(new RegExp(separators.join('|'), 'g'));
console.log(tokens);

【讨论】:

    猜你喜欢
    • 2012-10-23
    • 1970-01-01
    • 2013-10-19
    • 1970-01-01
    • 2011-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多