在使用replaceAll(p,str)方式时,如果str中带有分隔符和$,则会出现很多问题。

1,在str中,对分隔符(File.separator),前面加上"//",然后使用replaceAll(p,str),此时在windows没问题。

在linux下,不会替换后面的$(即,替换后会得到$2,而不是匹配的字符串)。

(例子,str = "$1"+"abc"+"//"+File.separator+"123"+"//"+File.separator+"$2)

2,将1中,需要替换的路径字符串,extract to a local variable. 然后先用#ABC!(可以分辨的任意字符)替换,

然后在将#ABC!,使用原来的路径字符串替换掉。

这时,如果路径字符串中没有"//",会throw出StringIndexOutOfBoundException

 

最后成功的处理方式是2。

 

GitHub 加速计划 / li / linux-dash
6
1
下载
A beautiful web dashboard for Linux
最近提交(Master分支:3 个月前 )
186a802e added ecosystem file for PM2 4 年前
5def40a3 Add host customization support for the NodeJS version 4 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐