我正在执行以下操作:
String test = "this is a. example";
String[] test2 = test.split(".");
问题:test2
没有项目。但是里面有很多.
。test
String
知道问题是什么吗?
我正在执行以下操作:
String test = "this is a. example";
String[] test2 = test.split(".");
问题:test2
没有项目。但是里面有很多.
。test
String
知道问题是什么吗?
请注意,public String[] split(String regex)需要一个regex。
您需要转义特殊的 char .
。
利用String[] test2 = test.split("\\.");
现在你告诉 Java:
“不要把它当作.
特殊字符.
,把它当作普通字符.
”。
请注意,转义正则表达式由 完成\
,但在 Java 中,\
写为\\
.
正如@OldCurmudgeon (+1) 的评论中所建议的,您可以使用“为指定的字符串返回文字模式字符串”的公共静态字符串引用(字符串 s):
String[] test2 = test.split(Pattern.quote("."));
点.
是特殊的正则表达式字符。这意味着匹配任何。您需要转义字符,这在 Java 中是用\\
.
一旦它被转义,它就不会被视为特殊字符,并且会像任何其他字符一样被匹配。
所以String[] test2 = test.split("\\.");
应该做得很好!