Javascript - Incasesensitif split() without using toLowerCase() or toUpperCase()
我正在尝试使用
问题是这样的
1 2 3 4 5 6 | var str, ret; str ="NubNubLabaLabaNubNub"; ret = str.split("labalaba"); // ret return ["NubNubLabaLabaNubNub"] // which i wanted ["NubNub","NubNub"] |
当我使用
1 2 | str ="NubNubLabaLabaNubNub"; ret = str.toLowerCase().split("labalaba".toLowerCase()); |
我还是不明白怎么把
谢谢。
可以改用不区分大小写的正则表达式:
1 2 3 4 | const str ="NubNubLabaLabaNubNub"; console.log( str.split(/labalaba/i) ); |
如果要拆分的字符串在变量中,请首先对其进行转义,然后将其传递给
1 2 3 4 5 6 7 8 | const escape = s => s.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&'); const str ="abcfoo()barabc"; const splitOn = 'foo()bar'; const re = new RegExp(escape(splitOn), 'i'); console.log( str.split(re) ); |