2013-08-30 43 views

回答

11

一个简单的方法:

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

或周围的其他方法:

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

如果你需要从一个新的字符串:

string newText = new string(firstLetterCharacters.ToArray()); 
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

1

试试这个

String aa = "NR21380 SR9956 NER6754 WR98765 SR98700"; 
    //getting the first chars from the dummy string. 
    var firstChars= Regex.Match(aa, @"[A-Z]+"); 
2

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

string s=NR21380 SR9956 NER6754 WR98765 SR98700 
string s2 = Regex.Replace(s, @"[^A-Z]+", String.Empty); 
相关问题