在C ++中,我们可以定义一个自定义语言环境,使流对象能够忽略文件中的非数字,并只读取整数。
我们可以做类似的事吗?我们怎样才能有效地从文本文件中只读取整数? C#stream对象是否使用区域设置?如果是,我们可以定义可以与流对象一起使用的自定义区域设置,以便在读取文件时忽略不需要的字符吗?
以下是C ++中的一个示例,它有效地计算文本文件中单词的频率:
答案 0 :(得分:4)
我的建议:
public void ReadJustNumbers()
{
Regex r = new Regex(@"\d+");
using (var sr = new StreamReader("xxx"))
{
string line;
while (null != (line=sr.ReadLine()))
{
foreach (Match m in r.Matches(line))
{
Console.WriteLine(m.Value);
}
}
}
}
其中xxx是文件名,显然你将以比在控制台上转储更优雅的方式使用匹配的数字;)