如何在Java中更改字符串前缀部分

时间:2014-04-18 11:26:59

标签: java string

我在Java中有String,其中包含以下路径:E:\HTML\project\img\image.jpg

我想将其更改为\img\image.jpg

我该怎么做?

7 个答案:

答案 0 :(得分:1)

StringBuffer str = new StringBuffer("E:\\HTML\\project\\img\\image.jpg");
int first = str.lastIndexOf("\\");
int second = str.lastIndexOf("\\", first-1);
System.out.println(str.substring(second));

答案 1 :(得分:0)

不确定您是否会问这个问题,但如果您只是想将字符串变量更改为其他内容,则非常简单:

String path = "E:\HTML\project\img\image.jpg";

path = "\img\image.jpg";

除了你需要在这里改变的一件事,要么你需要使用这样的转义字符:

path = "\\img\\image.jpg";

或者只是使用其他符号来声明路径/。

所以,如果我是你,我将其改为:

String path = "E:/HTML/project/img/image.jpg";

path = "/img/image.jpg";

答案 2 :(得分:0)

String path = "E:\\HTML\\project\\img\\image.jpg";
// find the last backslash
int i1 = path.lastIndexOf("\\");
// find the 2nd last backslash (the one you're after)
int i2 = path.lastIndexOf("\\",i1-1);
// now get the last part of the string
String what_you_want = path.substring(i2);

答案 3 :(得分:0)

你也可以尝试一下。

String string = "E:/HTML/project/img/image.jpg.";
path = "/img/image.jpg";

String subString = string.substring(path.length()+1, string.length()-1);
System.out.println(subString);

String path = "E:\\HTML\\project\\img\\image.jpg";


System.out.println(path.replace("E:\\HTML\\project", ""));

答案 4 :(得分:0)

这可能是一个有点复杂的解决方案,但效果很好。我使用了Apache Commons中的StringUtils.ordinalIndexOf()

String path = "E:/HTML/project/img/image.jpg";
path = path.substring(StringUtils.ordinalIndexOf(path,'/',3));

答案 5 :(得分:0)

您可以尝试以下代码:

import java.util.StringTokenizer;

public class App {
    public static void main(String[] args) {

        String str = "E:\\HTML\\project\\img\\image.jpg";
        StringTokenizer st = new StringTokenizer(str,"\\");

        System.out.println("---- Split by \\ ------");
        while (st.hasMoreElements()) {
            String s =st.nextElement().toString();
               if(s.equals("img"))
                   str = s;
               if(s.equals("image.jpg"))
                   str += "\\"+s; 
        }
        System.out.println(str);

    }
}

答案 6 :(得分:0)

String s = "E:\\HTML\\project\\img\\image.jpg";
String newString = s.replaceAll("(.*?)(\\\\img.*)", "$2");
System.out.println(newString);