gpt4 book ai didi

c# - 正则表达式 "Full Name"到 "Abbreviated Name"

转载 作者:太空宇宙 更新时间:2023-11-03 23:33:51 25 4
gpt4 key购买 nike

我们需要将全名转换为缩写名,其中输入的组合变化如下:

输入:[可选标题] [名字或首字母] [姓氏]

输出:[可选标题] [初始] [姓氏]

  • 安德鲁·史密斯先生
  • 史密斯先生
  • 史密斯
  • 安德鲁·史密斯

在所有情况下,如上所示,输出将是 Mr A Smith(有头衔的地方)或 A Smith(没有头衔的地方),并且我认为这最好通过 RegEx 实现,尽管我不知道正确执行此操作的语法是什么。

我自己尝试了一些,只得到了混合(不正确)的结果。

作为注释;名字“可能”包含特殊字符,没有人有中间名;所以我们可以在列表中添加一个名为 Mr James O'Reilly-Bond 的人,他将导致 Mr J O'Reilly-Bond

这是用 C# 编写的

最佳答案

虽然不使用正则表达式当然是一种选择,但我理解不想列出可能的标题。如果标题始终是 2 个名称或 3 个名称,您可以使用 (([A-Z])\S*)(?=\s\S*$),如 https://regex101.com/r/tR7kV2/1 所示.

这个想法是你选择倒数第二个词,这个词在捕获组 $1 中,它的大写字母 - 在捕获组 $2 中,你用 $2 替换你的匹配项。

关于c# - 正则表达式 "Full Name"到 "Abbreviated Name",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31248856/

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