要在任意'&''-'或者'>'
Javascript regex to split on either ' & ', ' - ' or ' > '
我有一个这样的字符串:
var category = 'New & improved > crazy - whatever'
我想把它转换成:
var arr = ['New', 'improved', 'crazy', 'whatever']
应使用' & ', ' - ' or ' > '
的任何组合(包括空格)。
到目前为止,我正在做:
var arr = [];
if(obj.categories[i].name.indexOf(" > ") >= 0){
var arr2 = obj.categories[i].name.split(" > ");
for(var i = 0; i<arr.length; i++){
if (arr[i].indexOf(' & ') >=0){
var newarr = arr[i].split(' & ');
arr.push(newarr);
}else{
arr.push(arr[i]);
}
}
}
if(obj.categories[i].name.indexOf(" - ") >= 0){
var arr2 = obj.categories[i].name.split(" - ");
for(var i = 0; i<arr.length; i++){
if (arr[i].indexOf(' & ') >=0){
var newarr = arr[i].split(' & ');
arr.push(newarr);
}else{
arr.push(arr[i]);
}
}
}else if(obj.categories[i].name.indexOf(" & ") >= 0){
var arr = obj.categories[i].name.split(" & ");
return arr;
}else{
return [obj.categories[i].name];
}
但如果字符串中同时存在&符号和破折号,则此操作无效。我觉得正则表达式无论如何都可以更好地处理这一问题,实现这一点并使其在不同的用例中相对更具未来性的最佳方法是什么(当然,只涉及上面的分隔符)?
var category = 'New & improved > crazy - whatever';
category.split(/'s*[-&>]'s*/); // => ["New", "improved", "crazy", "whatever"]
注:-
不应位于在中间。否则,它将被解释为字符范围。
尝试:'New & improved > crazy - whatever'.split(/[>&-]/);
或者结果中没有空格(但结果可能取决于初始字符串的格式):'New & improved > crazy - whatever'.split(/'s+[>&-]'s+/);
您可以使用这个:
var result = yourstring.split(/['s>&-]+/);
print(result);
var category = 'New & improved > crazy - whatever'
var arr = category.split(/['&'>'-]/);
相关文章:
- 在<页眉>标签
- 做<img>或者<画布>保存对原始(大)dataUrl对象的引用
- jQuery选择器,用于使用>或者<
- 使用<代码>或者<pre>Jade模板中的标签
- Javascript,字符串带有'<'或者'>'
- Javascript(jQuery)/HTML:设置<输入>或者<选择>启用,不工作
- 要在任意'&''-'或者'>'
- <嵌入>或者<对象>标签视频播放错误处理程序-JavaScript
- 正在转换<br>标记到<Div>或者<P>标签
- 有没有一种方法可以包括<脚本>或者<link>在所有页面中显示一次
- 如何将当前光标中的行格式化为<h1>或者<p>标记
- 放置JavaScript函数的位置:<头><身体>?或者在</html>
- 如何在<Div类=“;abc定义“;style='显示“>或者在<Div类=“;aB-cd-e
- 如何更改<李>或者<tr>颜色一个接一个
- 直接从javascript调用java类,而不使用<苹果>或者<对象>
- Javascript没有't在<头部>或者<身体>标签
- 使用<对象>或者<iframe>在链接中
- 是否可以将一个唯一的CSS类附加到多个<李>元素,或者使用Jquery对它们重新排序
- Youtube是否使用<iframe>或者<视频>在他们自己的域上的视频
- <noscript>或者其他什么