如何提取第一个字符和之后的数字,直到在字符串中找到一个字符 (a-z) - C# 2.0

How to extract first character and numbers after that until find a character (a-z) in a string - C# 2.0

如何从字符串的第二个索引中提取数字,直到在字符串中找到字符 (a-z)?

我正在使用 C# 2.0 版(由于某些原因无法升级)。

这里有一些例子;

我试过 Regex("[^0-9]") 如果数字后没有字符(第 4 个示例),它会起作用

 "B" + regexOnlyNumbers.Replace(mystring, string.Empty);

您可以使用

string text = "M000067TGFD45F";
Match m = Regex.Match(text, @"^[A-Z][0-9]+");
if (m.Success)
{
    Console.WriteLine(m.Value);
}

参见regex demo

详情

  • ^ - 字符串开头
  • [A-Z] - 大写 ASCII 字母
  • [0-9]+ - 一个或多个 ASCII 数字。

或者,您可以考虑 ^[A-Z][^A-Z]+ 模式,其中 [^A-Z]+ 匹配除大写 ASCII 字母以外的任何一个或多个字符。

要忽略大小写,请使用 RegexOptions.IgnoreCaseRegex.Match(text, @"^[A-Z][0-9]+", RegexOptions.IgnoreCase)