我正在尝试非常简单的拆分。我不知道为什么它不起作用。
String abc= "192.168.120.2";
String[] eachByteabc= abc.split(".");
当我调试它并查看时,我得到 abc 包含的结果:192.168.120.2。但是当我拆分时,它不会给我错误,而是给我空结果。我想,我犯了一些愚蠢的错误。你能告诉我我错在哪里吗?我应该怎么办。先感谢您。
我正在尝试非常简单的拆分。我不知道为什么它不起作用。
String abc= "192.168.120.2";
String[] eachByteabc= abc.split(".");
当我调试它并查看时,我得到 abc 包含的结果:192.168.120.2。但是当我拆分时,它不会给我错误,而是给我空结果。我想,我犯了一些愚蠢的错误。你能告诉我我错在哪里吗?我应该怎么办。先感谢您。
您需要转义.
, 因为它是一个正则表达式运算符。将其更改为:
String[] eachByteabc= abc.split("[.]");
另外,感谢@sparks:
虽然这可行,但正则表达式中的 [] 字符用于注释集合,因此如果您正在寻找它可能在有限的字符系列中的位置,您应该使用它们。
在这种情况下 - 用于\\.
转义.
字符。
试试看=):
String[] eachByteabc= abc.split("\\.");
public String[] split(String regex)
将正则表达式作为参数。您必须逃避这一点,因为它是一个正则表达式运算符。
String[] eachByteabc = abc.split("."); 不是 eorr,但你不能调试和观察值。使用 String[] eachByteabc = abc.split(".");你可以在调试中观察值。
String.split 使用正则表达式,所以你需要使用abc.split("\\.");
http://docs.oracle.com/javase/6/docs/api/java/lang/String.html#split%28java.lang.String%29