需要RegEx来获取两个字符串的第一个字符,而不管它是什么字符类型

ubby3x7f  于 2023-01-27  发布在  其他
关注(0)|答案(2)|浏览(109)

我有一个c#代码片段,它从一个模型(CustomerName)中提取一个字符串,并将全名替换为首字母。例如“John Doe”=“JD”。它工作得很好。问题是,数字和特殊字符会使它出错。例如“1234 4321”=“1234 4321”。或者“#John Doe”=“#John Doe”。
我需要帮助调整代码,使它在字符串的两个一半的第一个字符,而不管字符类型。
所以,“#无名氏”我会选“#D”。“1234 4321”我会选“14”

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

4uqofj5v1#

你可以试试这个片段

var initials = new Regex(@"(.).*?(\s|$)+");
model.Customerinitials = initials.Replace(model.CustomerName, "$1");

演示:https://regex101.com/r/hdPsvE/1

cgvd09ve

cgvd09ve2#

不知道我是否理解了你的意思,但是这个正则表达式会捕获第一个字符和白色后面的第一个字符
^(.)\S+\s(.)

相关问题