在使用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
13
2
下载
A beautiful web dashboard for Linux
最近提交(Master分支:3 个月前 )
186a802e added ecosystem file for PM2 5 年前
5def40a3 Add host customization support for the NodeJS version 5 年前
Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐