如何从字符串中提取起始字符?
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+"匹配任意数字,"()"会取
来自组的匹配值
我有一列 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+"匹配任意数字,"()"会取 来自组的匹配值