【发布时间】:2014-11-17 18:45:24
【问题描述】:
我写了以下代码:
String[] arr = ((String) "asd.asd").split(".");
和arr=[]。为什么?
【问题讨论】:
-
因为 split 函数需要一个正则表达式
标签: java
我写了以下代码:
String[] arr = ((String) "asd.asd").split(".");
和arr=[]。为什么?
【问题讨论】:
标签: java
split 将正则表达式作为参数。 “。”在常规中表示“任何字符”。
改为:
String[] arr = "asd.asd".split("\\.");
反斜杠转义了“.”的特殊含义。正则表达式中的字符。
【讨论】:
split() 接受正则表达式。你应该逃避 . 使用 "\\." 。在正则表达式中. 是一个特殊字符(元字符),表示匹配任何字符。
【讨论】:
因为'.'是一个特殊字符。你需要像这样写'\\.'
【讨论】:
您必须对. 进行双重转义,否则正则表达式会将其表示为“任何字符”。
另外,您不需要将“asd.asd”转换为String。
String[] arr = "asd.asd".split("\\.");
【讨论】: