通过操作字符串替换目录路径 - Java

时间:2012-01-29 17:30:37

标签: java string replace stringescapeutils

如何替换字符串的目录路径? 原始字符串是:

String fn = "/foo/bar/ness/foo-bar/nessbar.txt";

我需要输出看起来像:

/media/Transcend/foo-bar/nessbar.txt

我已尝试过下面这行,但它不起作用

fn.replaceAll("/foo/bar/ness", "/media/Transcend");

3 个答案:

答案 0 :(得分:3)

你忘记重写变量:

String fn = "/foo/bar/ness/foo-bar/nessbar.txt";
fn = fn.replaceAll("/foo/bar/ness", "/media/Transcend");

答案 1 :(得分:1)

试试这个:

fn = fn.replaceAll("/foo/bar/ness", "/media/Transcend");

replaceAll方法返回一个新的String对象,原始对象保持不变。这就是为什么你需要将结果分配到某个地方,例如,在同一个变量中。

答案 2 :(得分:0)

replaceAll以某种方式对我不起作用,无法弄明白为什么,我最终得到了这样的东西,虽然它只取代了路径的第一部分。

String fn = "C:/foo/bar/ness/foo-bar/nessbar.txt";
Strign r = "C:/foo/bar/ness";
fn = "C:/media/Transcend" + fn.substring(r.length());