我有一个JavaScript数组,其中包含员工的中文和英文名称。
示例:
XXX MA Yo-Yo其中XXX代表中文名称:馬友友。
我想通过使用第一个空格" "作为指示器将其分成两部分。
for (i = 0; i < /* ... */)
{
w_temp = arr[i];
w_name = w_temp[1].split(' ', 1);
/* ... */
}w_name[0]成功返回馬友友。但是w_name[1]返回undefined,而不能返回MA Yo-Yo。
我怎么把它分成两部分呢?
发布于 2011-08-18 10:29:08
将现有的w_name = ...行替换为以下内容:
w_name = w_temp[1].split(' ');
w_name = [w_name[0], w_name.slice(1).join(' ')];您之前使用的,1的意思是在到达第一个空格时立即停止解析。这不是您想要的;您希望第一个空格之前的部分作为一个项目,而后面的部分作为另一个项目。新代码解析所有元素。之后,它将其设置为包含以下内容的数组:
发布于 2011-08-18 10:29:03
你有
split(' ', 1)1表示最多返回一个部分。如果需要的话,你可以省略它或者把它改成两个。
发布于 2011-08-18 10:33:45
尝尝这个
for (var i = 0; i < arr.length; i++) {
var w_temp = arr[i];
// assuming w_temp contains an array where the second item
// is the full name string
var parts = w_temp[1].match(/^(.+?) (.+)$/);
var cn_name = parts[1];
var en_name = parts[2];
}https://stackoverflow.com/questions/7101705
复制相似问题