当前位置: 首页 > 面试题库 >

使用点时String.split返回null

平羽
2023-03-14
问题内容

我得到了以下简单代码:

String ip = "1.2.3.4";
String[] ipArray = ip.split(".");
System.out.println(ipArray[1]);

并且ipArray在命中时为null System.out.println(引发null指针异常)。

我的问题是,即使我将其设置为在每个ip的.s上进行拆分,为什么ipArray仍为null?


问题答案:

使用ip.split("\\.");,您的问题将得到解决。问题是String#split接收到一个正则表达式,点(。)符号在正则表达式中是一个特殊字符,因此您需要对其进行转义以将其解释为纯点,并且反斜杠也是转义字符在Java中,您也必须对其进行转义。



 类似资料:
  • 问题内容: 我的日志显示此异常:由以下代码触发: 我试图弄清楚String.split返回空数组的条件。我的理解是,如果找不到匹配项,则返回大小为1且与原始字符串匹配的数组。 这是为Android build SDK版本21编译的Java。我期待听到我遗漏的明显细节。 问题答案: 返回结果的地方是。现在根据文档(限制由表示) 如果为零,则将尽可能多地应用该模式,该数组可以具有任何长度,并且 尾随的

  • 问题内容: 我正在尝试执行一些超级简单的o日志文件解析,所以我正在使用如下方法: 并非常适合以下输入: 要么 只是说些什么。 我该如何转义逗号,使其与中间逗号不匹配? 例如,如果我要在其中一部分中加入逗号: 我在想类似的东西: 但是我不知道如何创建拆分来避免匹配逗号。 我试过了: 但是,这是行不通的。 问题答案: 您可以使用否定的外观来解决它。 基本上说,在 _ 没有反斜杠的情况下_拆分每个。 输

  • 我是Android开发的新手,当然还有碎片。 我想访问main activity中我的片段的控件,但是'find viewbyid'返回null。如果没有片断,代码可以正常工作。

  • 返回起点功能可将您指引到训练的起点。 若要在一次训练中使用返回起点功能: 在训练准备模式中,按下 LIGHT(背光灯)按钮,或轻触 进入快捷菜单。 从列表中选择 Back to start(返回起点),然后选择 on(开启)。 您也可以在训练期间设置返回起点,方法是暂停训练,使用 LIGHT(背光灯)按钮打开快捷菜单,滚动至 Back to start(返回起点),然后选择 on(开启)。 若在

  • 返回起点功能可将您指引到训练的起点。 若要在一次训练中使用返回起点功能: 在训练准备模式中,按下 LIGHT(背光灯)按钮,或轻触 进入快捷菜单。 从列表中选择 Back to start(返回起点),然后选择 on(开启)。 您也可以在训练期间设置返回起点,方法是暂停训练,使用 LIGHT(背光灯)按钮打开快捷菜单,滚动至 Back to start(返回起点),然后选择 on(开启)。 若在