从字符串中获取数字
本文关键字:数字 获取 字符串 | 更新日期: 2023-09-27 18:10:51
如何从以下字符串中获取数字:
###E[shouldbesomenumber][space or endofline]
[]此处仅用于实际字符串中未出现的插图。
我在.net 2.0中。
谢谢。
我建议您使用正则表达式或字符串操作来隔离仅数字部分,然后根据需要解析的数字类型调用int.Parse
、int.TryParse
、decimal.Parse
、decimal.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
的另一个原因…(
static string ExtractNumber(string text)
{
const string prefix = "###E";
int index = text.IndexOfAny(new []{' ', ''r', ''n'});
string number = text.Substring(prefix.Length, index - prefix.Length);
return number;
}
现在提取了您的号码,您可以对其进行解析或按原样使用。