我正在导入一个CSV文件到MySQL数据库。这可以使用java.mysql支持文件路径中的正斜杠来完成。如果用户给出路径
java.mysql
c:\upload\date\csv\sample.csv
MySQL不支持这种类型的路径模式。我想在路径中搜索反斜杠,并将其替换为正斜杠,给予:
c:/upload/date/csv/sample.csv
这是怎么做到的?
dfuffjeb1#
在java中,使用这个:
str = str.replace("\\", "/");
注意,这里不需要replace的正则表达式版本,即replaceAll(); replace()仍然替换所有出现的搜索词,但它搜索 literal String,而不是正则表达式匹配。
replaceAll()
replace()
omtl5h9j2#
由@PaulPRO和@Bohemian提供的String.replace(CharSequence,CharSequence)示例可以工作,但最好使用String.replace(char,char)版本。稍微快一点。虽然你不会有明显的速度差异,但最好在可能的情况下进行这种优化。
String replacedStr = str.replace('\\', '/');
bt1cpqcv3#
如果您有:String s = "c:\\upload\\date\\csv\\sample.csv";在Java中,你可以用途:s = s.replace("\\", "/");这将使s等于:c:/upload/date/csv/sample.csv
String s = "c:\\upload\\date\\csv\\sample.csv";
s = s.replace("\\", "/");
qncylg1j4#
对于双反斜杠(“\”)对于Java,可以使用string.replaceAll(“\","/”)&对于Kotlin,你可以使用string.replace(“\\".toRegex(),"/”)
4条答案
按热度按时间dfuffjeb1#
在java中,使用这个:
注意,这里不需要replace的正则表达式版本,即
replaceAll()
;replace()
仍然替换所有出现的搜索词,但它搜索 literal String,而不是正则表达式匹配。omtl5h9j2#
由@PaulPRO和@Bohemian提供的String.replace(CharSequence,CharSequence)示例可以工作,但最好使用String.replace(char,char)版本。稍微快一点。虽然你不会有明显的速度差异,但最好在可能的情况下进行这种优化。
bt1cpqcv3#
如果您有:
String s = "c:\\upload\\date\\csv\\sample.csv";
在Java中,你可以用途:
s = s.replace("\\", "/");
这将使s等于:
c:/upload/date/csv/sample.csv
qncylg1j4#
对于双反斜杠(“\”)
对于Java,可以使用string.replaceAll(“\","/”)
&
对于Kotlin,你可以使用string.replace(“\\".toRegex(),"/”)