我的目标是用一个“\”替换所有的“/”和“\”。
输入:
String path = "H\\\\\\\\\\ello///Wo\\rld\\!////";
输出:
String path = "H\ello\Wo\rld\!\";
问题:
有没有办法在一行中完成所有这些?
我的解决方案(有效!):
- 全部改成同一个字符
- 用一个斜杠替换所有的“/”
- 让它恢复正常
我了解到我需要正则表达式并且“[X]+”将放置所有可能的组合,例如。 “XXfXfXXXX”到“XfXfX”。
我正在搜索类似的东西:(伪代码)
path = path.replaceAll("[\\/]+", "\\");
我尝试了一些组合,但每次都会抛出错误。
我的解决方案:
path = path.replace("\\", "/");
path = path.replaceAll("[/]+", "/");
pfad = pfad.replace("/", "\\");
最佳答案
尝试使用此模式来匹配斜杠和反斜杠组:(?:\\+|\/+)
并将其替换为 \\
。
解释:
(?:...)
- 非捕获组
\\+
- 匹配一个或多个 \
\/+
- 匹配一个或多个/
|
- 交替:在右边或左边匹配模式
或者,您可以使用模式 [\/\\]+
,它匹配一个或多个 \
或 /
关于java - 如何用一个替换字符串中的多个斜杠和反斜杠?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55904397/