次の形式のテキストファイルがあります
432 23 34 45 56 78 90 67 87 90 76 43 09 .................
最初の行を削除し、残りの単語を空白で区切られた配列に挿入したいと思います。
空白を削除して単語を取得するために、次のコードを記述しました
StreamReader streamReader = new StreamReader("C:\\Users\\sample.txt"); //get the file
string stringWithMultipleSpaces = streamReader.ReadToEnd(); //load file to string
streamReader.Close();
Regex newrow = new Regex(" +"); //specify delimiter (spaces)
string[] splitwords = r.Split(stringWithMultipleSpaces); //(convert string to array of words)
デバッグポイントをstring[] splitwords
ラインに配置すると、次の出力が表示されます
最初の行を削除して、配列インデックスから残りの単語を取得するにはどうすればよい[0]
ですか?
プレーンスペースだけでなく、すべてのホワイトスペースで分割する必要があります。
@"\s+"
パターンを使用して1つ以上の空白記号を一致させます。
string[] splitwords = Regex.Split(stringWithMultipleSpaces, @"\s+");
もう1つのアプローチは、ファイルを1行ずつ読み取ることです。このような数値のみが常に存在し、Unicodeスペースが存在しない場合は、plainを使用しますString.Split()
。
何かのようなもの
var results = new List<string>();
using (var sr = new StreamReader("C:\\Users\\sample.txt", true))
{
var s = string.Empty;
while ((s=sr.ReadLine()) != null)
{
results.AddRange(s.Split());
}
}
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加