我正在尝试非常简单的分裂。 我不知道为什么它不起作用。
String abc= "192.168.120.2";
String[] eachByteabc= abc.split(".");
当我调试它并看到时,我得到abc包含的结果:192.168.120.2。 但是当我分裂时,它不会给我错误,但会给我null结果。 我想,我犯了一些愚蠢的错误。 你能告诉我我错在哪里吗?我该怎么办。 提前谢谢。
答案 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