Java的正则表达式来基于操作系统替换文件的路径(Java regex to replace fil

2019-07-02 10:14发布

我不是很相信有任何正则表达式替换thoese的事情:

这是通过Linux机器保存在XML文件中读取一个字符串值

<pcs:message schema="models/HL7_2.5.model"/>

这是一个保存在Windows机器

<pcs:message schema="model\HL7_2.5.model"/>

这就是为什么,而在Linux的出口和进口的Windows或反之亦然的文件中获取在Eclipse中的错误。

是否有任何的正则表达式查找和替换字符串内的值(斜线和反斜线)? 基于工作的OS(不是XML解析)?

提前致谢

Answer 1:

str = str.replaceAll("\\\\|/", "\\"+System.getProperty("file.separator"))



Answer 2:

使用“文件分割符”系统属性和基础上,你的正则表达式。

http://docs.oracle.com/javase/tutorial/essential/environment/sysprop.html

也看到这一点: 文件分割符VS FileSystem.getSeparator()VS System.getProperty( “文件分割符”)?



Answer 3:

这应该采取固定斜线的护理:

String str = xml.replaceAll("\\\\|/", System.getProperty("file.separator"));


文章来源: Java regex to replace file path based on OS