我目前有一种方法可以从文件中读取整数,并在达到 16 个整数时针对字符串(寄存器)运行正则表达式。尽管从文件中读取整数(或数字)的方式给我带来了问题。它目前从文件中读取所有数字,并忽略任何其他字符,例如字母。因此将收集以下内容:
示例.txt:
h568fj34fj390fjkkkkf385837692g1234567891011121314fh
输出错误:
5683439038583769
正确的输出:
1234567891011121
但我只想收集一串连续的数字(如果在数字之间有其他字符,如字母,则不会被计算在内),并且该方法适用于一系列数字(总共 16 个),中间没有其他字符,如字母.
我目前的逻辑如下:
var register = new StringBuilder();
using(var stream = File.Open(readme.txt, FileMode.Open))
{
bool execEnd = false;
bool fileEnded = false;
int buffer;
while(execEnd = true)
{
while(register.Length < 16 && !fileEnded)
{
buffer = stream.ReadByte();
if(buffer == -1)
{
fileEnded = true;
break;
}
var myChar = (char)buffer;
if(Char.IsNumber(myChar))
register.Append(myChar);
}