1

因此,我从 .txt 文件中提取一行并将其转换为字符串。我想用|分割字符串,但我在它之前和之后也有空格,这与代码混淆了,这是我到目前为止所拥有的:

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 回答