我正在执行以下操作:
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("\\.");应该做得很好!