将两个字符串分别存入两个变量中

3
假设我有这个代码:
var colors = 'Red,Blue,Green,Orange,White,Brown';

我试图解析它以获取所有颜色,这意味着:
color1='Red';
color2='Blue';
[...]

我以前曾经使用过matches()方法,然后在颜色之间加了一个逗号,因为颜色是用逗号隔开的,但结果不符合我的预期... 有什么快速的方法可以实现吗?

4个回答

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 或任何你想要的变量中的项目。

希望能对你有所帮助。


4
如果您不介意将其放在全局对象上:
'Red,Blue,Green,Orange,White,Brown'.split(',').forEach(function(color, index ){
  window['color' + index] = color;
});

2

要使用正则表达式匹配它,您只需要使用\w+,它可以匹配以下任何字符:A-Z a-z 0-9 _

var colors = 'Red,Blue,Green,Orange,White,Brown';
var matches = colors.match(/\w+/g);
console.log(matches[0]);

如果您担心数字和下划线的匹配问题,您可以使用/[a-z]+/gi。它将只匹配小写字母,并忽略数字和下划线。

谢谢您的意见! - user4385866

-1
您可以使用以下代码:
String [] stringParts = myString.split(":");

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接