用空格拆分字符串

时间:2013-02-03 18:36:39

标签: java file-read

所以我从.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文件将是:

在Rot | in red

中 Blau中的

|蓝色

in Grun | in green

在Gelb |黄色

它会添加|左侧的所有项目到德国名单,以及英国名单右边的所有名单。

啊,想通了,sc.next()是下一个String,而不是下一行,我用sc.nextLine()替换它,一切正常,谢谢。

2 个答案:

答案 0 :(得分:3)

致电

line.replaceAll(" ", "");

预先;这将摆脱所有空格。如果您只想删除拆分字符串中的前导和尾随空格,请使用

words[i].trim()

代替。

答案 1 :(得分:2)

使用以下模式:

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