在我的项目中,我使用代码来拆分字符串,如 "004*034556" ,代码如下:
String string = "004*034556";
String[] parts = string.split("*");
但它有一些错误并强制关闭!最后我发现如果使用“#”或其他东西它会起作用。
String string = "004#034556";
String[] parts = string.split("#");
我该怎么解释这个?!
你忘记了一些非常琐碎的事情。
String string = "004*034556";
String[] parts = string.split("\\*");
我建议您查看Escape Characters。
用于Pattern.quote
处理*
类似字符串*
而不是正则表达式*
(具有特殊含义):
String[] parts = string.split(Pattern.quote("*"));
public String[] split(String regex)
↑
参考JavaDoc
String[] split(String regex)
Splits this string around matches of the given regular expression.
当我们谈论Java中的Regex时,符号“*”具有不同的含义
因此,您将不得不使用转义字符
String[] parts = string.split("\\*");