除了Java默认分隔符之外,如何使用逗号和点作为分隔符

时间:2016-04-27 08:12:28

标签: java java.util.scanner

我有一个文本文件,其中包含许多排列以及特殊字符,空格和数据的组合。 我将此文件的内容存储到数组列表中,如果我没有使用useDelimiter()函数,Java正在完美地读取我的文本。

唯一的问题是它不接受逗号,)和.)作为分隔符。

我知道我可以使用input.useDelimiter(",|.| |\n")逗号空间用作分隔符和其他选项,但是然后我得到的结果不正确,因为java现在给我了。

有没有办法指示java使用逗号 dot 作为分隔符以及它使用的默认分隔符?

提前感谢您的帮助:)

此致 拉胡

3 个答案:

答案 0 :(得分:2)

Scanner的默认分隔符定义为模式\p{javaWhitespace}+,因此如果您还想将逗号和点视为分隔符,请尝试

input.useDelimiter("(\\p{javaWhitespace}|\\.|,)+");

请注意,您需要转义点,因为这是正则表达式中的特殊字符。

答案 1 :(得分:1)

使用这样的转义字符:

input.useDelimiter("\\.");

答案 2 :(得分:0)

你可以这样做:

String str = "...";
List<String> List = Arrays.asList(str.split(","));

基本上.split()方法会根据(在这种情况下)你传递的分隔符拆分字符串,并返回一个字符串数组。

但是,您似乎在使用字符串列表而不是数组,因此必须使用Arrays.asList()实用程序将数组转换为列表。就像一个FYI,你也可以这样做:

String str = "...";
ArrayList<String> List = Arrays.asList(str.split(","));