如何编写含"/"的正则表达式,实现字符串斜杠的空格格式化
问题解决方法
- 你之前用的
String.replace()是普通字符串替换,不会解析正则表达式,必须改用String.replaceAll()才能处理正则规则。 - 原正则表达式写法错误,正确思路是用零宽断言定位那些前后被合法字符(字母、数字、下划线、点、减号)包围的无空格
/,避免误改已有空格的/。对应的正则表达式为:(?<=[a-z0-9_\.-])/(?=[a-z0-9_\.-])(?<=[a-z0-9_\.-]):反向预查,确保/前是指定合法字符(?=[a-z0-9_\.-]):正向预查,确保/后是指定合法字符
正确Java代码
String actualString = "/ location1711126633182 (A2) / location1711126650373 (A3) / location1711126758739/location1711126794800"; // 替换前后无空格的/为带空格的格式 String newString = actualString.replaceAll("(?<=[a-z0-9_\\.-])/(?=[a-z0-9_\\.-])", " / "); System.out.println(newString);
输出结果
/ location1711126633182 (A2) / location1711126650373 (A3) / location1711126758739 / location1711126794800
内容的提问来源于stack exchange,提问作者DexExMac
相关产品推荐
相关产品推荐

