【问题标题】:RegEx to Remove Middle Initial in a Full Name正则表达式删除全名中的中间首字母
【发布时间】:2020-04-24 05:31:57
【问题描述】:

示例名称:注意没有空格。

约翰JSmith

迈克·约翰逊

彼得沃克

结果应该是:

约翰·史密斯

迈克·约翰逊

彼得沃克

[A-Z]{2} RegEx 只匹配两个大写字母,不知道如何从这里开始。

谢谢。

【问题讨论】:

  • “ConanOBrien”会发生什么?

标签: regex lowercase names


【解决方案1】:

假设,你有

1)名称以大写字母开头,后跟一些小写字母 -> [A-Z][a-z]*

2)大写中间字母-> [A-Z]

3)大写最后一个字母后跟一些小写字母 -> [A-Z][a-z]*

你可以将它们分成3组

(^[A-Z][a-z]*)([A-Z])([A-Z][a-z]*)

因为你需要第一组和最后一组。你可以得到这样的 -> $1$3

例如。

'JohnJSmith'.replace(/(^[A-Z][a-z]*)([A-Z])([A-Z][a-z]*)/,'$1$3')->"JohnSmith"

【讨论】:

  • 非常感谢.. 像魅力一样工作.. 希望它也能帮助其他人。您的帮助受到许多人的赞赏。再次感谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-06-28
  • 1970-01-01
  • 1970-01-01
  • 2022-10-12
  • 1970-01-01
相关资源
最近更新 更多