拆分字符串在java中给出null结果

时间:2013-11-08 13:41:43

标签: java

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

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

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

5 个答案:

答案 0 :(得分:4)

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

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

此外,感谢 @sparks

  

虽然这样可行,但正则表达式中的[]字符用于注释   一套,所以如果你正在寻找它可能在一个有限的系列   你应该使用它们。

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

答案 1 :(得分:3)

试试=):

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

答案 2 :(得分:2)

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

答案 3 :(得分:1)

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

答案 4 :(得分:0)

String.split使用正则表达式,因此您需要使用abc.split("\\.");

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