c# - 从字符串中获取数字

标签 c# string .net-2.0

如何从以下字符串中获取数字:

###E[shouldbesomenumber][space or endofline]

这里的[]仅用于真实字符串中不存在的插图。

我使用的是.net 2.0。

谢谢。

最佳答案

我建议你使用正则表达式或字符串操作来隔离只是数字部分,然后调用int.Parseint.TryParsedecimal.Parsedecimal.TryParse 等,具体取决于您需要解析的数字类型。

正则表达式可能类似于:

@"###E(-?\d+) ?$";

当然,您需要将其更改为非整数。示例代码:

using System;
using System.Text.RegularExpressions;

class Test
{
    static void Main(string[] arg)
    {
        Regex regex = new Regex(@"###E(-?\d+) ?$");        
        string text = "###E123 ";

        Match match = regex.Match(text);
        if (match.Success)
        {
            string group = match.Groups[1].Value;
            int parsed = int.Parse(group);
            Console.WriteLine(parsed);
        }
    }
}

请注意,如果数字超出 int 范围,这仍然可能会失败。 (使用 int.TryParse 的另一个原因...)

关于c# - 从字符串中获取数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7702451/

相关文章:

c# - 是否可以向 Visual Studio IntelliSense™ 下拉列表添加项目?

在 main 中调用函数,使用 strtok 分隔字符串(指针问题)

C# - 什么是超时和失败连接的好的 SQLException 错误处理

c# - 如何获取计算机描述?

c# - 应用程序电子邮件架构

c# - 如何读取动态对象值

c# - 如何测试一个矩形是否在另一个矩形中?

python - 如何在字符串文字中放置实际的反斜杠(不将其用于转义序列)?

ruby-on-rails - 仅将字符串的第一个字符大写并保留其他字符? ( rails )

.net - 使用 inno setup 在 Windows 上安装 dotnet (.NET) 软件