嗨,我有类似A01
,AAA
等的字符串。
我想提取它的字母部分,例如A01
=> A
,AAA
=> AAA
。
我正在使用[A-Za-z\s]
,但它不起作用。但是,当我在
http://gskinner.com/RegExr/在线尝试时,它可以工作
什么不见了?
嗨,我有类似A01
,AAA
等的字符串。
我想提取它的字母部分,例如A01
=> A
,AAA
=> AAA
。
我正在使用[A-Za-z\s]
,但它不起作用。但是,当我在
http://gskinner.com/RegExr/在线尝试时,它可以工作
什么不见了?
这是一个不可知论的语言正则表达式解决方案:
/[a-z]+/i
C#代码:
public Regex MyRegex = new Regex( "[a-z]+", RegexOptions.IgnoreCase);
您可以使用 LINQ,因为正则表达式涉及开销:
var res = String.Join("", input.Where(c => Char.IsLetter(c)));
这是一个可以肯定工作的示例代码。
string txt="a123b";
string re1="([A-Za-z])";
MatchCollection matches = Regex.Matches(txt, re1);
string str = String.Empty;
// Use foreach loop.
foreach (Match match in matches)
{
foreach (Capture capture in match.Captures)
{
str += capture.Value ;
}
}
Console.WriteLine(str);
使用 System.Text.RegularExpression 命名空间。
您可以使用正则表达式替换。
using System.Text.RegularExpressions;
string aplhaNumericString = "A01", alphabeticalString ="AAA";
Regex.Replace(aplhaNumericString,@"\d","");
Regex.Replace(alphabeticalString,@"\d","");