如何在除了句点以外的所有特殊字符处拆分字符串?

3
String line="word,1.2;3.1!4.5";

我需要在Split(...)中使用什么正则表达式以除了点号外移除所有特殊字符?(我需要点号来保留双精度和浮点值)
3个回答

4
你可以尝试这个:
string.split("[^.\\w]");

或者

string.split("[^.a-zA-Z\\d]");

如果您想在一个或多个字符上应用分割,请在字符类之后添加+

1
一个普遍的问题,你不需要转义点(.)吗? - nafas
不,点号在字符类中失去了它的特殊含义。 - Avinash Raj

1

0

试试这段代码

line.split("[.\w]");

1
感谢您的回答,"[^.a-zA-Z\d]"或"[^.\w]"很好用,但是对于String line = "\\//word,1.2;3.1!4.5?!!!!^^*%$^$^$";,当String pattern="[^.a-zA-Z\\d]"String pattern="[^.\\w]"时,我得到了以下输出:lineSplited : lineSplited : lineSplited : lineSplited : word lineSplited : 1.2 lineSplited : 3.1 lineSplited : 4.5请问如何处理\\//?再次感谢。 - Youness Mourtaji

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接