1

嗨,我有类似A01,AAA等的字符串。

我想提取它的字母部分,例如A01=> AAAA=> AAA

我正在使用[A-Za-z\s],但它不起作用。但是,当我在 http://gskinner.com/RegExr/在线尝试时,它可以工作

什么不见​​了?

4

4 回答 4

5

这是一个不可知论的语言正则表达式解决方案:

/[a-z]+/i

C#代码:

public Regex MyRegex = new Regex( "[a-z]+", RegexOptions.IgnoreCase);
于 2012-10-23T07:50:30.977 回答
3

您可以使用 LINQ,因为正则表达式涉及开销:

var res = String.Join("", input.Where(c => Char.IsLetter(c)));
于 2016-02-29T06:53:37.253 回答
0

这是一个可以肯定工作的示例代码。

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 命名空间。

于 2012-10-23T08:27:06.833 回答
0

您可以使用正则表达式替换。

using System.Text.RegularExpressions;

string aplhaNumericString = "A01", alphabeticalString ="AAA";

Regex.Replace(aplhaNumericString,@"\d","");
Regex.Replace(alphabeticalString,@"\d","");
于 2016-02-29T06:09:13.437 回答