我想根据多个分隔符拆分一个字符串。
如何用多个字符串作为分隔符拆分一个字符串?
例如:
我有一个字符串:"/create #channel 'name' 'description of the channel' #field1 #field2"
我想要一个数组:
/create
#channel
name
description of the channel
#field1
#field2
另一个例子,我有:"/send @user 'A messsage'"
我想要:
/send
@user
A message
如何解决?有什么帮助吗? :-(
最佳答案
这里是没有Regx的解决方案
var multiSplit = function (str, delimeters) {
var result = [str];
if (typeof (delimeters) == 'string')
delimeters = [delimeters];
while (delimeters.length > 0) {
for (var i = 0; i < result.length; i++) {
var tempSplit = result[i].split(delimeters[0]);
result = result.slice(0, i).concat(tempSplit).concat(result.slice(i + 1));
}
delimeters.shift();
}
return result;
}
简单使用
multiSplit("/create #channel 'name' 'description of the channel' #field1 #field2",['/','#','@',"'"])
输出
Array [ "", "create ", "channel ", "name", " ", "description of the channel", " ", "field1 ", "field2" ]
关于javascript - 根据多个分隔符拆分字符串 [/, #, @, '' ],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32754177/