我有一个列UserID,列中的值以D,SIN,SUD示例开头
D4568732
SIN454544
SUD4545454
如何在C#中提取此起始模式?
答案 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 +”匹配任何数字,“()”将获取 从组中匹配值