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

C# 如何从字符串中提取起始字符?,c#,string,c#-4.0,C#,String,C# 4.0,我有一个列UserID,列中的值以D,SIN,SUD开头 D4568732 SIN4544 SUD45454 如何在C#?解决方案1中提取此起始模式 您可以尝试从字符串中删除字母&结果将仅为数字 string input = "ABC12345"; var result = Convert.ToInt32(new String(input.Where(p => Char.IsNumber(p)).ToArray())); 解决方案2 另一个可能的答案是(这里它只是跳过输入字符串

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

D4568732

SIN4544

SUD45454


如何在C#?

解决方案1中提取此起始模式

您可以尝试从字符串中删除字母&结果将仅为数字

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

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


解决方案1

您可以尝试从字符串中删除字母&结果将仅为数字

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

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


使用如下正则表达式:

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

使用如下正则表达式:

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+”匹配任何数字,“()”将获取
组中的匹配值

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

        string str = "SIN454544";

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

        var patten = matches.Groups[1].Value;
“[A-Z]+”匹配任何英文字符,“d+”匹配任何数字,“()”将获取
匹配组中的值

您还需要添加一个
.SkipWhile(Char.isleter)
。也许可以解释一下为什么这样做,好的回答是的!这是另一个可能的答案。在这些代码示例中,您可能是指
.ToArray()
,而不是
.ToString()
。我不能用.ToString()吗?对不起,问题不是:“如何在C中提取此起始模式?”在解决方案1中,
result
是一个
string.Empty
,在这一秒我得到了数字,您还需要添加一个
.SkipWhile(Char.isleter)
。也许可以解释一下为什么这样做,好的回答是的!这是另一个可能的答案。在这些代码示例中,您可能是指
.ToArray()
,而不是
.ToString()
。我不能用.ToString()吗?对不起,问题不是:“如何在C中提取此起始模式?”在解决方案1中,
结果
是一个
字符串。空的
,在第二秒我得到数字是的,一些值在开始时包含该模式,一些值不是…是的,我忽略这些值。如果我的模式在开始时处于随机位置,我将忽略这些值,我的意思是不在一开始@middleSolution只有在字符串以模式开始时才起作用。省去“^”使其在任何位置都能工作。System.Text.RegularExpressions.Regex.Match(“34534SIN454544”,“D | SIN | SUD”)如果我的模式在开始时处于随机位置,则此方法有效,我的意思是不在开始时@middleSolution仅在字符串以模式开始时有效。省去“^”使其在任何位置都能工作。System.Text.RegularExpressions.Regex.Match(“34534SIN454544”,“D | SIN | SUD”)