c# - 正则表达式从名称中提取首字母

标签 c# regex

eg. if the Name is: John Deer
the Initials should be: JD

我可以使用子字符串对 Initials 字段执行此检查,但想知道是否可以为它编写一个正则表达式?编写正则表达式是否比使用字符串方法更好?

最佳答案

就我个人而言,我更喜欢这个正则表达式

Regex initials = new Regex(@"(\b[a-zA-Z])[a-zA-Z]* ?");
string init = initials.Replace(nameString, "$1");
//Init = "JD"

这会处理首字母和空格删除(即末尾的 '?')。

您唯一需要担心的是头衔和标点符号,例如 Jr. 或 Sr.,或 Mrs..等等。有些人会在他们的全名中包含这些

关于c# - 正则表达式从名称中提取首字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10820273/

相关文章:

C# 试图用秒表包装一个函数

php - 如何使用php在html中搜索youtube和vimeo视频

javascript - 仅当包含在正则表达式匹配中时才替换正则表达式?

c# - 延迟加载不调用函数

c# - 是否有适用于 Mono 的 ILMerge 等效工具?

c# - 这应该被 mock 还是被打断?

c# - SSIS 脚本组件 C# : Can we use System. 反射以查找输入列的缓冲区长度?

Java 等价于 PHP 的 preg_replace_callback

python - 如何在python中从file.sql打印表名和主键

javascript - 检查后行断言的兼容性