我是C#的新手,我正在使用Windows窗体.我正在处理Postcodes字符串,我试图从Post代码中获取第一个字母并将其存储在变量中,例如:
BL9 8NS(我想获得BL)
L8 6HN(我想得到L)
CH43 7TA(我想得到CH)
WA8 7LX(我想要WA)
我只想获得数字前的第一个字母,你可以看到字母的数量可以是1或2,也许3.任何人都知道怎么做?谢谢
Ofi*_*ten 17
因为stringimlements IEnumerable<char>,使用Linq TakeWhile并且char.IsLetter非常容易:
string firstLetters = string.Concat(str.TakeWhile(char.IsLetter));
Run Code Online (Sandbox Code Playgroud)
使用带有组的正则表达式匹配第一个字母.
这是你需要的正则表达式:
^([a-zA-Z]+)
Run Code Online (Sandbox Code Playgroud)
你可以像这样使用它:
Regex.Match("BL9 8NS", "^([a-zA-Z]+)").Groups[1].Value
Run Code Online (Sandbox Code Playgroud)
上述表达式将评估为"BL".
记得添加一个using指令System.Text.RegularExpressions!