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

如何在Java默认分隔符之外使用逗号和点作为分隔符,java,java.util.scanner,Java,Java.util.scanner,我有一个文本文件,其中包含许多特殊字符、空白和数据的排列和组合。 我正在将此文件的内容存储到数组列表中,如果我没有使用useDelimiter()函数,Java将完美地读取我的文本 唯一的问题是它不接受逗号(,)和点()作为分隔符 我知道我可以使用input.useDelimiter(“,|.| | | \n”)来使用逗号、点、空格作为分隔符以及其他选项,但是我得到的结果并不像java现在给我的那样正确 有没有一种方法可以指导java使用逗号和点作为定界符,以及它使用的默认定界符 提前感谢您的帮

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

唯一的问题是它不接受逗号(
)和点(
)作为分隔符

我知道我可以使用
input.useDelimiter(“,|.| | | \n”)
来使用逗号、点、空格作为分隔符以及其他选项,但是我得到的结果并不像java现在给我的那样正确

有没有一种方法可以指导java使用逗号和点作为定界符,以及它使用的默认定界符

提前感谢您的帮助:)

问候,, 拉胡尔

你可以这样做:

String str = "...";
List<String> List = Arrays.asList(str.split(","));
String str=“…”;
List=Arrays.asList(str.split(“,”);
基本上,.split()方法将根据(在本例中)传递的分隔符分割字符串,并返回字符串数组

但是,您似乎在查找字符串列表而不是数组,因此必须使用Arrays.asList()实用程序将数组转换为列表。仅供参考,您也可以这样做:

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

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

input.useDelimiter(“(\\p{javaWhitespace}\\.\.\124;,)+”


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

使用转义字符如下:

input.useDelimiter("\\.");

如果您有带逗号和/或点的数字,最好只使用BufferedReader和
拆分(“[\\,\\s]”)
。或者马上找第三方CSVReaderMan!!我试着在大约两天的时间里实现这个……没有比这个更好的结果了。完美的非常感谢:)这正是我想要的结果:)