如何将带有字母的字符串转换为int c#
how to convert a string with letters to int c#
这是我的问题:
输入:s = "4193 with words"
输出:4193
我这样试过,但是不行
int a;
bool tf = int.TryParse(s,out a);
if(tf == true)
{
return a;
}
return 0;
我想你搜索的是这样的东西?
string input = "1234 words";
var outputnumber = Convert.ToInt32(Regex.Match(input, @"\d+").Value);
您可以使用它从字符串中仅提取数字字符:
string numStr = new String(s.Where(Char.IsDigit).ToArray());
然后使用您现有的代码,但参考 numStr
:
int a;
bool tf = int.TryParse(numStr,out a);
if (tf == true)
{
return a;
}
return 0;
请注意,如果您想支持负整数,则需要相应地调整第一部分(提取相关字符)。
这是我的问题:
输入:s = "4193 with words" 输出:4193
我这样试过,但是不行
int a;
bool tf = int.TryParse(s,out a);
if(tf == true)
{
return a;
}
return 0;
我想你搜索的是这样的东西?
string input = "1234 words";
var outputnumber = Convert.ToInt32(Regex.Match(input, @"\d+").Value);
您可以使用它从字符串中仅提取数字字符:
string numStr = new String(s.Where(Char.IsDigit).ToArray());
然后使用您现有的代码,但参考 numStr
:
int a;
bool tf = int.TryParse(numStr,out a);
if (tf == true)
{
return a;
}
return 0;
请注意,如果您想支持负整数,则需要相应地调整第一部分(提取相关字符)。