查找字母串中的第一个字符

tee*_*pee 5 c# string char

您好我想弄清楚如何查看字符串,找到第一个字母,然后从该索引点删除.

例如

string test = "5604495Alpha";
Run Code Online (Sandbox Code Playgroud)

我需要通过这个字符串,"A"从那一点开始查找和删除

谢谢

Jim*_*hel 14

有几种方法可以做到这一点.两个例子:

string s = "12345Alpha";
s = new string(s.TakeWhile(Char.IsDigit).ToArray());
Run Code Online (Sandbox Code Playgroud)

或者,更准确地说,正如Baldrick在评论中指出的那样,找到第一个字母:

s = new string(s.TakeWhile(c => !Char.IsLetter(c)).ToArray());
Run Code Online (Sandbox Code Playgroud)

或者,你可以写一个循环:

int pos = 0;
while (!Char.IsLetter(s[pos]))
{
    ++pos;
}
s = s.Substring(0, pos);
Run Code Online (Sandbox Code Playgroud)

  • 替换我删除的评论!:我建议:`s = new string(s.TakeWhile(c =>!Char.IsLetter(c)).ToArray());`它应该是*第一个字母*,而不是*first非数字字符*. (2认同)
  • @CodeGeek:使用`IsDigit` 或`IsNumber`(这两者之间有区别——查一下)会给你第一个非数字。如果字符串包含空格或特殊字符(即`123^$87Alpha`),那么使用`IsNumber` 或`IsDigit` 只会返回字符串`123`。OP 需要第一个字母:`123^$87`。 (2认同)