0

これは本当に簡単な質問だと思いますが、インターネット上のすべての投稿を読んだような気がしますが、問題を解決できるものは何も見つかりませんでした. Java には stringtokenizer があることは知っていますが、私は C# を使用しています。私がやりたいことは、次のようなテキストファイルがあることです。

ProductNr   ProductName         CustomerNr      Customer
AAAAA       Shoes               S111            Shoebuyer
BBBBB       Umbrella            U222            Umbrellabuyer

ご覧のとおり、tabindex が台無しになっているため、.Split(\t) を使用できず、.Slip(' ') も試しましたが、これはスペースがある場所で分割されるだけです。私がやりたいことは、単語間のすべてのスペースを削除し、AAAAA Shoes S111 Shoebuyer だけを読み、次の行で同じことを読むことです。

テキストファイルを (,) で区切られるように変更してから、以下のコードを書きました。これはコンマには機能しますが、これを私の問題に適用できませんでした。

 using (StreamReader file = new StreamReader("MyTestFile.txt"))
            {
                string line;
                while ((line = file.ReadLine()) != null)
                {
                    char[] delimiters = new char[] { ',' };
                    string[] parts = line.Split(delimiters);

                    FileList objIntäkt = new FileList();
                    objIntäkt.ProductNr = parts[0];
                    objIntäkt.Product = parts[1];
                    objIntäkt.CustomerNr = parts[2];
                    objIntäkt.Customer = parts[3];

                    objIntäkts.Add(objIntäkt);
                }
                //Stänger filen
                file.Close();
            }

そして、私の FileList クラスには、テキストファイルから読みたいもののためのゲッターとセッターがあります:

public string ProductNr { set; get; }
public string Product { set; get; }
public string CustomerNr { set; get; }
public string Customer { set; get; }

次に、私の質問に対して、テキストファイル内のすべてのテキストを読み取り、すべてのスペースを削除するにはどうすればよいですか?

4

4 に答える 4

0

使用するRegex.Split

var parts = Regex.Split(line, "\w+");

これは、行内の任意の数の空白文字で分割されます。

于 2013-10-28T10:54:28.077 に答える