将字符串转换为int而丢失除数字之外

时间:2013-08-09 21:12:12

标签: c# .net

我有字符串

string a = "234234324\r\n";

我想将此字符串解析为整数而丢失此\r\n部分,因此int应仅包含来自字符串a的数字int b = 234234324;

P.S。 string不一定包含\r\n部分,重点是我只想使用字符串中的数字。

我尝试使用Convert.ToInt32(a),但我有错误。

5 个答案:

答案 0 :(得分:8)

int b = int.Parse(new string(a.Where(char.IsDigit).ToArray()));

答案 1 :(得分:7)

您只需要Trim - 删除所有前导和尾随空格。

int b = int.Parse(a.Trim());

答案 2 :(得分:2)

试试这个:

string a = "234234324\r\n";
string justNumbers = new String(a.Where(Char.IsDigit).ToArray());

注意:显然,这需要LINQ。

现在你可以转换字符串而不用担心字符串中的非数字,如下所示:

Convert.ToInt32(justNumbers);

答案 3 :(得分:1)

您必须使用Trim,然后使用Int32.TryParse

int b = Int32.TryParse(a.Trim(), out num);

答案 4 :(得分:0)

试试这个(你需要添加对 Microsoft.VisualBasic 的引用):

using Microsoft.VisualBasic;

class Program
{
    static void Main(string[] args)
    {
        var a = "234234324\r\n";
        int b = int.Parse(Conversion.Val(a).ToString());
    }
}