假设我有这个:
var colors = 'Red,Blue,Green,Orange,White,Brown';
我试图解析它以获得所有颜色,这意味着:
color1='Red';
color2='Blue';
[...]
我曾经使用过matches()
,然后用逗号分隔,因为颜色用逗号分隔,所以我把',',但结果不是我所期望的......有没有快速的方式做到了吗?
答案 0 :(得分:5)
有没有快速的方法呢?
是的,我建议您使用split()
正如文档所说:
split()方法用于将字符串拆分为子字符串数组,并返回新数组。
提示:如果使用空字符串(“”)作为分隔符,则在每个字符之间分配字符串。
注意:split()方法不会更改原始字符串。
所以你可以做同样的颜色:
var colors = 'Red,Blue,Green,Orange,White,Brown'.split(','); //use .split() to split the character you want to.
var color1 = colors[0];
var color2 = colors[1];
var color3 = colors[2];
[...]
alert("Color 1 = " +color1 + "\n"+ "Color 2 = " + color2);
现在你可以做一些逻辑来了解var colors
或你想要的任何项目。
希望它有所帮助。
答案 1 :(得分:4)
如果您不介意将其放在全局对象上:
'Red,Blue,Green,Orange,White,Brown'.split(',').forEach(function(color, index ){
window['color' + index] = color;
});
答案 2 :(得分:2)
要将其与正则表达式匹配,您只需使用符合以下任何字符\w+
的{{1}}。
A-Z a-z 0-9 _
如果您担心匹配数字和下划线,您可以随时使用var colors = 'Red,Blue,Green,Orange,White,Brown';
var matches = colors.match(/\w+/g);
console.log(matches[0]);
答案 3 :(得分:-1)
您可以使用以下代码:
String [] stringParts = myString.split(":");