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

时间:2018-08-02 06:13:26

标签: c# string c#-4.0

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

D4568732

SIN454544

SUD4545454

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

3 个答案:

答案 0 :(得分:4)

使用这样的正则表达式:

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

答案 1 :(得分:2)

解决方案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());

答案 2 :(得分:0)

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

        string str = "SIN454544";

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

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

“ [A-Z] +”匹配任何英文字符,“ d +”匹配任何数字,“()”将获取 从组中匹配值