如何从字符串中提取起始字符?

How to extract the Starting characters from a String?

我有一列 UserID,列中的值以 D、SIN、SUD 示例开头

D4568732

SIN454544

SUD4545454

如何在 C# 中提取此起始模式?

解决方案 1

您可以试试这个从字符串中删除字母,结果将只有数字

 string input = "ABC12345";   
 var result = Convert.ToInt32(new String(input.Where(p => Char.IsNumber(p)).ToArray()));

解决方案 2

另一个可能的答案是这个(这里只是跳过输入字符串中的字母)

 string input = "ABC12345";
 string result = new String(input.SkipWhile(p => Char.IsLetter(p)).ToArray());

使用这样的正则表达式:

System.Text.RegularExpressions.Regex.Match("SIN454544", "^D|SIN|SUD")

正则表达式适用于处理如下字符串

        string str = "SIN454544";

        var matches=Regex.Match(str,"^([A-Z]+)\d+");

        var patten = matches.Groups[1].Value;

"[A-Z]+"匹配任意英文字符,"d+"匹配任意数字,"()"会取 来自组的匹配值