Java - String Split
Created by : Mr Dk.
2020 / 03 / 26 20:12
Nanjing, Jiangsu, China
今天遇上一个坑,花了点时间才解决,特此留念,提醒自己。
会遇上这个坑的根本原因是,对正常字符串和正则表达式的混用。之前在使用 Java 的 String.split(string regex)
时,参数显然应当是一个正则表达式的字符串。以前遇到的场景大部分是分割空格,或用 /
分割路径,而 xxx.split(" ")
是可行的。
今天的场景是切割一个 1.src.patch
的文件名。于是第一次写的代码是 String.split(".")
,然而切分出来的数组长度为 0 而不是 3 😲。后来才想起来 .
是正则中的特殊意义字符,匹配除 \r
或 \n
以外的任何字符,所以无法代表 .
本身的含义。代码需要被修正为 String.split("\\.")
才能得到预期效果。
再次提醒自己参数名为 regex
的字符串可不能直接写成字符串了!