現在、ファイルからintを読み取るメソッドがあり、16 intに達すると、文字列(レジスタ)に対して正規表現が実行されます。int(または数値)がファイルから読み込まれる方法が問題を引き起こしていますが。現在、ファイルからすべての数字を読み取り、文字などの他の文字は無視します。したがって、以下が収集されます。
Example.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);
}