用类拆分字符串packagename

时间:2013-07-13 16:39:26

标签: java

我不知道为什么这段代码不起作用。

这是我的代码。

String value[] = pce.getPropertyName().toString().split(".");

pce.getPropertyName的值是com.newbie.model.Names

当我调试它时,值的大小为0.

有人遇到过这个问题吗?

3 个答案:

答案 0 :(得分:3)

.在regex-world中具有特殊含义(具体来说,它匹配任何字符),并且回想起split()确实将正则表达式作为参数。你想要

String value[] = pce.getPropertyName().toString().split("\\.");

即。逃避.

答案 1 :(得分:1)

你必须转义点字符,因为dot是一个元字符:

String value[] = pce.getPropertyName().toString().split("\\.");

答案 2 :(得分:0)

如果您希望正则字符中具有特殊含义的点或其他字符是普通字符,则必须使用反斜杠将其转义。由于Java中的正则表达式是普通的Java字符串,因此您需要转义反斜杠本身,因此需要两个反斜杠,如\\.

Java docs也可以在这里找到。

所以,这就是你应该做的。

String value[] = pce.getPropertyName().toString().split("\\.");