从字符串regex中获取前导字母

本文关键字:获取 字符串 regex | 更新日期: 2023-09-27 18:08:02

从字符串

中获取前导字母

给定字符串,如"W6 8RF"或"WC2 5HS",如何仅获得前导字母字符

Input       Wanted Result
"W6 8RF"    "W"
"WC2 5HS"   "WC"

My attempt

string result = Regex.Replace(postCode, @"^[A-Za-z]+", string.Empty);

返回错误结果

有什么建议可能由于

从字符串regex中获取前导字母

似乎你想使用Regex.Match而不是Regex.Replace,像这样:

string result = Regex.Match(postCode, @"^[A-Za-z]+").Value;

对于这样一个简单的任务,可以使用LINQ:

var s = "W6 8RF";
Console.WriteLine(string.Join("", s.TakeWhile(Char.IsLetter)));
// => W

TakeWhile(Char.IsLetter)将取字符串输入开头的所有字母,string.Join将生成最后的字符串。