You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#正则表达式优化:提取任意字符类型的分段字符串首字符

优化C#姓名首字母提取正则表达式(支持任意字符类型)

问题背景

原代码仅能提取字母开头的姓名分段首字符,当输入包含数字、特殊符号时失效,例如:

  • 输入1234 4321无法得到14
  • 输入#John Doe无法得到#D

原代码

var initials = new Regex(@"(\b[a-zA-Z])[a-zA-Z]* ?");
model.Customerinitials = initials.Replace(model.CustomerName, "$1");

优化方案

修改正则表达式,取消字符类型限制,匹配所有空格分隔分段的首字符:

var initials = new Regex(@"(^|\s)(.)\S*");
model.Customerinitials = initials.Replace(model.CustomerName, "$2");

正则说明

  • (^|\s):匹配字符串起始位置或空格,确保定位到每个分段的开头
  • (.):捕获分段的第一个字符(支持任意类型:字母、数字、特殊符号)
  • \S*:匹配分段中剩余的所有非空格字符

测试验证

  • 输入John Doe → 输出JD(与原逻辑兼容)
  • 输入1234 4321 → 输出14
  • 输入#John Doe → 输出#D
  • 输入$%^ &*() → 输出$&

内容的提问来源于stack exchange,提问作者optionsix

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 11:35:28