我有一个像下面这样的字符串,
String str = "12 67 239 2 47 29";
在这里,我想使用" 2 "
System.out.println(StringUtils.split(str, " 2 ")[0]);
我得到了一个结果1
。
但我希望得到如下结果,
12 67 239 2
我怎么能这样做呢,请帮助我。
答案 0 :(得分:1)
使用以下正则表达式将字符串拆分为2旁边的一个或多个空格。
str.split("(?<=\\s2)\\s+")[0]
(?<=\\s2)
正面看后面,看起来就在<space>2
\\s+
匹配一个或多个空格。
由于拆分仅在匹配的字符上发生,因此上述字符串应使用2旁边的空格作为分隔符进行拆分。
或
删除2旁边存在的所有字符。
System.out.println(str.replaceFirst("(\\s2)\\s+.*", "\\1"));