用正斜杠“/”动态替换反斜杠“\”[重复]
Posted
技术标签:
【中文标题】用正斜杠“/”动态替换反斜杠“\\”[重复]【英文标题】:Dynamically replacing backward slash '\' with foward slash '/' [duplicate]用正斜杠“/”动态替换反斜杠“\”[重复] 【发布时间】:2013-05-26 03:42:13 【问题描述】:我从系统中获取我的浏览文件位置,所以生成的字符串路径为
String path = "C:\Documents and Settings\abcd\Desktop\d.txt";
我的输入来自浏览按钮,因此输入文件路径是动态的。 我需要将反斜杠“\”替换为正斜杠“/”,以便我可以在编码中进一步使用该路径。 我需要动态地执行此操作。谁能告诉我怎么做。
我想要的输出是
C:/Documents and Settings/abcd/Desktop/d.txt
提前致谢。
正确答案---
以下是上述问题的正确答案--- String newPath = path.replaceAll("\\", "/");
【问题讨论】:
你尝试了什么?你有什么问题? 如果动态获取路径,则不需要替换反斜杠。如果您的 String 是像您一样的文字,则会产生编译错误。 如上所述,我正在动态获取路径,如果再次用于定位文件,则会产生错误。 【参考方案1】:您可以使用replaceAll
替换字符串中的子字符串:
String path = "C:\Documents and Settings\abcd\Desktop\d.txt";
String goodPath = path.replaceAll("\\", "/");
【讨论】:
【参考方案2】:如果不转义反斜杠字符,第一条语句将无法编译。反斜杠字符用于表示控制字符或 unicode 文字的开头,因此必须转义以表示 \
文字值本身。
你可以的
String path = "C:\\Documents and Settings\\abcd\\Desktop\\d.txt";
String newPath = path.replace("\\", "/");
【讨论】:
忽略这是一个 dup ... s/replace/replaceAll/ 来自 javadoc 的替换 返回一个新字符串,该字符串是用 newChar 替换此字符串中的 所有 个 oldChar。 @BrianRoach:replaceAll
采用正则表达式。
您能否详细说明您如何将 String path = "C:\Documents and Settings\abcd\Desktop\d.txt" 更改为 "C:\\Documents and Settings\\abcd\\Desktop \\d.txt"。
你是说为什么? - 确定使用\`
表示控制字符的开头,因此您需要在String
中对其进行转义。以上是关于用正斜杠“/”动态替换反斜杠“\”[重复]的主要内容,如果未能解决你的问题,请参考以下文章