-4

如何提取字符直到在asp.net c#的子字符串中找到一个数字

我的字符串就像

NR21380 SR9956 NER6754 WR98765 SR98700

4

4 回答 4

15

一种简单的方法:

var firstLetterCharacters = text.TakeWhile(Char.IsLetter);

或相反:

var firstLetterCharacters = text.TakeWhile(c => !Char.IsDigit(c));

如果您需要其中的新字符串:

string newText = new string(firstLetterCharacters.ToArray());
于 2013-08-30T10:04:54.163 回答
2

您可以使用正则表达式替换所有非字母:

string s=NR21380 SR9956 NER6754 WR98765 SR98700
string s2 = Regex.Replace(s, @"[^A-Z]+", String.Empty);
于 2013-08-30T10:07:00.270 回答
1

尝试这个

   String aa = "NR21380 SR9956 NER6754 WR98765 SR98700";
    //getting the first chars from the dummy string.
    var firstChars= Regex.Match(aa, @"[A-Z]+");
于 2013-08-30T10:06:39.810 回答
1

我只是尝试猜测输出:

string s = "NR21380 SR9956 NER6754 WR98765 SR98700";
var list = s.Split()
            .Select(x => String.Join("", x.TakeWhile(c => char.IsLetter(c))))
            .ToList();

输出将是列表NR SR NER WR SR

于 2013-08-30T10:05:26.390 回答