0

私は非常に興味深い問題に直面しています。以下は、部分文字列を取得したい文字列です。

  1¨Ñ§ËÇÑ´1xxxxxxxx                

インデックス 0 ~ 2 (長さ 3) は州 ID です。インデックス 3 ~ 35 (長さ 32) はタイ語の州名です。

次のように部分文字列の州を取得しようとすると

string line = "1¨Ñ§ËÇÑ´1xxxxxxxx                ";
line.Substring(3,32).Trim();

これは次のようなエラーを示しています

Index and length must refer to a location within the string.

コード行の全長をデバッグすると、35 になるはずの 33 が表示され、州のサブ文字列が 30 と表示されることに注意してください。

以下はコードです...

        using (StreamReader streamReader = new StreamReader("File06.txt"))
        {
            Console.WriteLine(".................. Content of " + file.Name + "..............");
            string codeOfProvince, nameOfProvince, line;
            while ((line = streamReader.ReadLine()) != null)
            {
                codeOfProvince = line.Substring(0, 3).Trim();
                nameOfProvince = line.Substring(3,32).Trim();
                Console.WriteLine("codeOfProvince {0}, nameOfProvince {1}", codeOfProvince , nameOfProvince );
            }
            Console.WriteLine("..............................................................");
            Console.WriteLine();

これはあなたを助けると確信しており、ファイルには次のデータがあります

  1¨Ñ§ËÇÑ´1xxxxxxxx                
  2¨Ñ§ËÇÑ´2xxxxxxxx                
4

1 に答える 1