gpt4 book ai didi

Javascript 正则表达式尝试将名称拆分为标题/名字/姓氏

转载 作者:行者123 更新时间:2023-11-29 18:34:47 27 4
gpt4 key购买 nike

我想尝试在 Javascript 中检测一个人名字的不同部分,并将它们剪掉,以便我可以将它们传递给其他东西。

名称可以以任何格式出现——例如:-

维多利亚·米·莱恩小姐

  • Victoria C J Long 小姐
  • 鲍勃·史密斯
  • 弗雷德
  • 戴维斯先生

我想尝试写一些简单的东西,最好是猜测这些并在 80% 左右的时间里让它们正确(我们有一些非常狡猾的数据)

我正在考虑使用正则表达式来检查它是否有前缀,然后分支到两个地方来确定它是否有

/^(Dr|Mr|Mrs|Miss|Master|etc).? /

然后用类似的东西把剩下的剪掉

/(\w+ )+(\w+)/

匹配姓氏和其他名字。虽然,我不确定我在这里的贪婪/不贪婪的选择,以及我是否可以做一些事情来快捷方式拥有所有可能可用的不同路径。基本上,希望找到一些简单的东西,以一种很好的方式完成工作。

由于我使用的 ETL 工具的限制,它也必须用 Javascript 编写。

最佳答案

为什么不 split()并检查结果部分:

// Split on each space character
var name = "Miss Victoria C J Long".split(" ");

// Check the first part for a title/prefix
if (/^(?:Dr|Mr|Mrs|Miss|Master|etc)\.?$/.test(name[0])) {
name.shift();
}

// Now you can access each part of the name as an array

console.log(name);
//-> Victoria,C,J,Long

工作演示:http://jsfiddle.net/AndyE/p9ra4/

当然,这不会解决人们在评论中提到的其他问题,但如果使用单个正则表达式,您会在这些问题上更加挣扎。

关于Javascript 正则表达式尝试将名称拆分为标题/名字/姓氏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4276905/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com