在我的项目中,我使用代码分割字符串,如“004 * 034556”,代码如下:
String string = "004*034556";
String[] parts = string.split("*");
但它有一些错误并强行关闭! 最后我发现,如果使用“#”或其他东西,它将起作用。
String string = "004#034556";
String[] parts = string.split("#");
我该怎么解释这个?!
答案 0 :(得分:2)
你遗忘了一些非常微不足道的事情。
String string = "004*034556";
String[] parts = string.split("\\*");
我建议您查看Escape Characters。
答案 1 :(得分:1)
参考JavaDoc
String[] split(String regex)
Splits this string around matches of the given regular expression.
当我们谈论Regex in Java
时,符号“*”具有不同的含义因此你必须使用转义字符
String[] parts = string.split("\\*");
答案 2 :(得分:1)
使用Pattern.quote
将*
视为字符串*
,而不是正则表达式*
(具有special meaning):
String[] parts = string.split(Pattern.quote("*"));
请参阅String#split
:
public String[] split(String regex)
↑