出于某种原因,我可以使用split方法.老实说我不知道这个代码我做错了什么:
String address = "0.0.0.0";
String [] adr = address.split(".");
System.out.println(address);
System.out.println(adr[0]);
Run Code Online (Sandbox Code Playgroud)
我在数组访问器上得到一个索引超出范围的错误.关于我哪里出错的任何想法?
aro*_*oth 15
该split()
方法需要一个正则表达式,而不是文字字符串,以及"." character在正则表达式中具有特殊含义.拆分文字"." 字符,你需要转义它,以便正则表达式解析器理解你想要的.
试试这样:
String [] adr = address.split("\\.");
Run Code Online (Sandbox Code Playgroud)
请注意,基本上必须将它转义两次,因为您希望正则表达式解析器获取字符串"\.",实际上是"\\".表示为字符串文字时."\\"解析为文字"\"字符,因此正则表达式解析器被赋予"\.",然后它解析为文字".".字符.
另请注意,stackoverflow解析器似乎想要取消以"\"开头的某些序列,这使得此帖子难以编辑.