3

我正在尝试非常简单的拆分。我不知道为什么它不起作用。

String abc= "192.168.120.2";
String[] eachByteabc= abc.split("."); 

当我调试它并查看时,我得到 abc 包含的结果:192.168.120.2。但是当我拆分时,它不会给我错误,而是给我空结果。我想,我犯了一些愚蠢的错误。你能告诉我我错在哪里吗?我应该怎么办。先感谢您。

4

5 回答 5

3

您需要转义., 因为它是一个正则表达式运算符。将其更改为:

String[] eachByteabc= abc.split("[.]"); 

另外,感谢@sparks

虽然这可行,但正则表达式中的 [] 字符用于注释集合,因此如果您正在寻找它可能在有限的字符系列中的位置,您应该使用它们。

在这种情况下 - 用于\\.转义.字符。

于 2013-11-08T13:43:09.307 回答
3

试试看=):

String[] eachByteabc= abc.split("\\.");
于 2013-11-08T13:46:14.263 回答
2

public String[] split(String regex)将正则表达式作为参数。您必须逃避这一点,因为它是一个正则表达式运算符。

于 2013-11-08T13:43:30.913 回答
1

String[] eachByteabc = abc.split("."); 不是 eorr,但你不能调试和观察值。使用 String[] eachByteabc = abc.split(".");你可以在调试中观察值。

于 2013-11-08T14:21:17.573 回答
0

String.split 使用正则表达式,所以你需要使用abc.split("\\.");

http://docs.oracle.com/javase/6/docs/api/java/lang/String.html#split%28java.lang.String%29

于 2013-11-08T13:44:23.813 回答