- 締切済み
txtファイルから読み取った文字列の処理について
お世話になります。 終わる文字列を表す「EOS」は、VBでどうやって処理しますか? ファイルの内容: 。 記号-句点 EOS EOS 記号-空白 新 接頭詞-名詞接続 VBプログラムで一行一行を読み取って、 配列へ格納することで、 EOSの行にどうやって処理するでしょうか 以上、宜しくお願いいたします。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- imogasi
- ベストアンサー率27% (4737/17069)
>終わる文字列を表す「EOS」は、 VBではEOSなどと言う語句は使わないと思います。 MSDOS及びその後のWinでは通常「復帰」+「改行」までが1単位です。入出力ステートメントLineInput#を発行すると1行分を区切って変数に入れてくれます。 その後、語としてデリミタで区切られているなら、Split関数で分離すればよい。 デリミタがカンマならInput#を発行すると毎語句ごとに 変数に割り当ててくれます。 他の文字コードをデリミタにしても区切ってくれないようです(スペースやTABなど)。 Sub test01() Open "abc2.txt" For Input As #1 While Not EOF(1) Input #1, a MsgBox a Wend Close #1 End Sub 大阪,a,11,12,名古屋北,45,名古屋北 名古屋北,b,13,14,名古屋北,23,名古屋北 ・・のファイルでは、上記は 大阪->a->11->12->名古屋北・・・ と順次表示されます。 Sub test01() Open "abc2.txt" For Input As #1 While Not EOF(1) Line Input #1, a MsgBox a Wend Close #1 End Sub なら 大阪,a,11,12,名古屋北,45,名古屋北 | 名古屋北,b,13,14,名古屋北,23,名古屋北 ・・ と表示されます。 実のところ質問の意味が良くわかりません。 >。 記号-句点 EOS ・・ 以下も理解できない。自分の頭で考えていることは、一般的な言葉で表さないと、他人には伝わりませんよ。
補足
教えて頂いて、ありがとうございました。 処理したいファイルの内容を説明せずに 申し訳ありません。 おかげさまで、問題を解決しました。 処理対処ファイルの内容: 。 記号-句点 EOS EOS 記号-空白 新 接頭詞-名詞接続 球場 名詞-一般 は 助詞-係助詞 2008 名詞-数 年 名詞-接尾-助数詞 に 助詞-格助詞-一般 開業 名詞-サ変接続 --------------------------- 文章の文字列を分析した結果です。 文字列及び属性 質問のところは、EOSを表示している行ですが。 imogasiさんの言う通り、EOSとは文章の「復帰」+「改行」ところを分析した結果です。 つまり「復帰」+「改行」は分析結果にEOSで表す。 imogasiさんの文章を読んで、もう少しやってみたところ、 問題を解決しました。単純に"EOS"文字列処理すればいいのに、複雑に考えました。 ところで、私は日本人ではありませんが、 自分の質問をはっきり伝わりませんでした、 ご迷惑をかけまして、申し訳ありませんでした。 ご回答ありがとうございました。