请考虑以下代码:
class Sample{
public static void main(String args[]){
String text1="C:\Documents\User\sample";
String text2=text1.replace('\','/');
System.out.println(text2);
}
}
Run Code Online (Sandbox Code Playgroud)
我有一个输入,其中text1正在接收文件路径.现在我想将text1中的所有"\"替换为"/".我使用了上面的代码.
首先,显示的错误是:"非法转义序列",这是可以理解的,不是我的问题,因为我正在创建一个Java EE应用程序,用户在输入框中输入路径.
但我无法将"\"更改为"/",这对我的代码正常运行至关重要.我无法解决这个问题.我甚至尝试过使用String.replaceAll()方法,但没有结果.
你需要逃避反斜杠:
String text2=aa.replace('\\','/');
Run Code Online (Sandbox Code Playgroud)
顺便说一句,replaceAll()会让你的问题更复杂:现在你正在处理一个正则表达式而不是一个简单的字符串替换,这意味着你的反斜杠需要再次转义为正则表达式引擎:
String text2=aa.replaceAll("\\\\", "/");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
79 次 |
| 最近记录: |