为了账号安全,请及时绑定邮箱和手机立即绑定

如何用多个空格分割名称字符串?

如何用多个空格分割名称字符串?

凤凰求蛊 2022-10-08 15:02:54
我想对名字和姓氏进行排序,我的问题是当用户有多个名字时,例如:'Michael Jordan Atticus Smith'基本上,史密斯是那里的姓氏,我如何用它分割名字和姓氏?我想要的结果是:'Michael Jordan Atticus' 'Smith'
查看完整描述

1 回答

?
慕的地10843

TA贡献1785条经验 获得超8个赞

let str = 'Michael Jordan Atticus Smith';


console.log( ex1(str) );

console.log( ex2(str) );

console.log( ex3(str) );


function ex1(str) {

  let names = str.match(/(.*?)\s(\S+)$/); // (1)

  return [ names[1], names[2] ];

}


function ex2(str) {

  let names = str.split(" ");

  return [names.pop(), names.join(" ")].reverse(); // (2)

}


function ex3(str) {

  let last = ""

  str = str.replace(/\s(\S+)$/, function(full_match, parenthesis_1) {

    last = parenthesis_1;

    return "";

  });

  

  return [str, last];

}

(1) match()返回匹配字符串的数组。另外,请参阅RegEx 小抄表

(2)数组pop()方法移除,并返回最后一个元素。代码从左到右执行,因此,第二个names.join(" ")收集了左边的 3 个名称。


查看完整回答
反对 回复 2022-10-08
  • 1 回答
  • 0 关注
  • 80 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信