我很难找到如何从文件中读取并输出分隔符,例如“;”或“:”等作为单独的字符串
这是我到目前为止所做的:
int i = 0;
s = new Scanner(new BufferedReader(new FileReader("lab1.txt")));
while (s.hasNext()) {
System.out.println(s.next());
i++;
输入文件lab1.txt为:
cookies; and juice
输出:
cookies;
and
juice
我想要的输出是什么:
cookies
;
and
juice
任何想法我怎么能得到它?
谢谢。
答案 0 :(得分:7)
您需要为Scanner
使用分隔符。
它将使用正则表达式来定义分隔符 - 请参阅API here。
例如(此处替换为StringReader
以重现):
Scanner s = new Scanner(new BufferedReader(new StringReader("cookies; and juice")));
// | whitespace
// | | or
// | | | something followed by punctuation (non-capturing group)
// | | |
s.useDelimiter("\\s|(?=\\p{Punct})");
while (s.hasNext()) {
System.out.println(s.next());
}
<强>输出强>
cookies
;
and
juice