使用split()分割字符串,如“004 * 034556”

时间:2013-10-27 16:51:18

标签: java android eclipse string split

在我的项目中,我使用代码分割字符串,如“004 * 034556”,代码如下:

String string = "004*034556";
String[] parts = string.split("*");

但它有一些错误并强行关闭! 最后我发现,如果使用“#”或其他东西,它将起作用。

String string = "004#034556";
String[] parts = string.split("#");

我该怎么解释这个?!

3 个答案:

答案 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)
                             ↑