java - 字符串分割错误

标签 java string

出于某种原因,我可以使用 split 方法。老实说,我不知道这段代码我做错了什么:

String address = "0.0.0.0";
String [] adr = address.split(".");
System.out.println(address);
System.out.println(adr[0]);

我在数组访问器上遇到索引越界错误。关于我哪里出错了有什么想法吗?

最佳答案

split() 方法需要 regular-expression ,不是文字字符串,而“.”字符在正则表达式中具有特殊含义。根据字面意思“.”进行分割字符,您需要对其进行转义,以便正则表达式解析器理解这就是您想要的。

尝试这样:

String [] adr = address.split("\\.");

请注意,本质上有必要将其转义两次,因为您希望正则表达式解析器获取字符串“\.”,它实际上是“\\.”。当表示为字符串文字时。 “\\”解析为文字“\”字符,因此正则表达式解析器给出“\.”,然后将其解析为文字“.”。性格。

另请注意,stackoverflow 解析器似乎想要转义以“\”开头的某些序列,这使得这篇文章难以编辑。

关于java - 字符串分割错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8996842/

相关文章:

java - 无法编译 WordCount.java

Java - 选择在 Canvas 上绘制的内容

arrays - 如何在 Swift 中分割字符串并保留分隔符?

java - 错误 :Error converting bytecode to dex: Cause: Dex cannot parse version 52 byte code

java - 运行应用程序时,字符串无法转换为 JSONObject 错误

java - 如何仅延迟特定方法?

java - 将字符串除以空格,除非满足特定字符

sql - 按位异或,在 SQL 中固定长度的二进制字符串(240 字节)

regex - 用于检测错误字符串的特定正则表达式

ruby-on-rails - 仅显示 Rails 中字符串的前 x 个单词