1

そこで、.txt ファイルから 1 行を取得し、それを文字列に変換します。文字列を | で分割したいのですが、その前後にスペースがあり、コードを台無しにしています。これまでのところ、次のとおりです。

File file = new File(fileLocation);
Scanner sc = new Scanner(file);
String line;
String[] words;
while(sc.hasNext()){
    line = sc.next();
    words = line.split("\\|");
    this.german.add(words[0]);
    this.english.add(words[1]);
}

行の例は次のようになります: in blue|in blau

スペースも確保したい。

.txt ファイルは次のようになります。

腐敗|赤

ブルーで|ブルーで

グラン|グリーン

ゲルブ|イエロー

| の左側にあるすべてのアイテムを追加します。ドイツ語のリスト、および英語のリストの右側にあるすべてのもの。

ああ、わかりました。sc.next() は次の行ではなく次の文字列です。それを sc.nextLine() に置き換えたところ、すべてが機能しました。ありがとうございます。

4

2 に答える 2

3

電話

line.replaceAll(" ", "");

予め; これにより、すべてのスペースが削除されます。分割された文字列から先頭と末尾のスペースのみを削除する場合は、次を使用します

words[i].trim()

代わりは。

于 2013-02-03T18:38:37.310 に答える
2

次のパターンを使用します。

words = line.split("\\s+\\|\\s+");

于 2013-02-03T18:40:21.933 に答える