You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用replaceAll结合正则将正斜杠替换为反斜杠加正斜杠?

正斜杠转义替换实现方案

两种可行方法:

1. 使用replace(更简单,无需正则)

replace方法会替换字符串中所有匹配的子串,不需要处理正则转义,直接指定要替换的字符和目标字符即可:

String originalPath = "../src/services/resource_mgmt/";
String escapedPath = originalPath.replace("/", "\\/");
// 输出结果:..\/src\/services\/resource_mgmt\/

2. 使用replaceAll(正则方式)

如果一定要用replaceAll,需要注意替换字符串中的反斜杠需要双重转义:

  • 正则匹配部分:"/" 直接匹配所有正斜杠(/不是正则元字符,无需转义)
  • 替换字符串部分:要生成\/,需要在代码中写"\\\\/"——因为Java字符串中,两个反斜杠表示一个实际反斜杠;而replaceAll的替换逻辑中,反斜杠会被当作特殊转义符(用于引用正则分组),因此要输出一个反斜杠,需要在替换字符串里写四个反斜杠,再加上正斜杠。

代码示例:

String originalPath = "../src/services/resource_mgmt/";
String escapedPath = originalPath.replaceAll("/", "\\\\/");
// 输出结果:..\/src\/services\/resource_mgmt\/

关键说明

  • 反斜杠\在Java字符串中是转义字符,要表示一个实际的反斜杠,必须写成\\。
  • 使用replaceAll时,替换字符串的反斜杠会被额外解析一次,所以要输出一个反斜杠,需要在代码里写四个反斜杠。

内容的提问来源于stack exchange,提问作者Juergen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 22:30:52