我在Java中有String
,其中包含以下路径:E:\HTML\project\img\image.jpg
。
我想将其更改为\img\image.jpg
我该怎么做?
答案 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);