Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Java中更改字符串前缀部分_Java_String - Fatal编程技术网

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

如何在Java中更改字符串前缀部分,java,string,Java,String,我在Java中有一个字符串,路径如下:E:\HTML\project\img\image.jpg 我想将其更改为\img\image.jpg 我该怎么做呢?不确定您是否在问这个问题,但如果您只是想将字符串变量更改为其他变量,则非常简单: String path = "E:\HTML\project\img\image.jpg"; path = "\img\image.jpg"; 除了有一件事需要更改之外,您需要使用如下转义字符: path = "\\img\\image.jpg"; 或者简

我在Java中有一个
字符串
,路径如下:
E:\HTML\project\img\image.jpg

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


我该怎么做呢?

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

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";
你也可以试试这个

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);


这可能有点复杂,但效果很好。我使用Apache Commons中的

String path = "E:/HTML/project/img/image.jpg";
path = path.substring(StringUtils.ordinalIndexOf(path,'/',3));
您可以尝试以下代码:

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);

    }
}

使用子串函数子串(15,29);它将\img\image.jpgTake
\img
作为常量字符串,并通过使用
s.substring(s.lastIndexOf(“\\”),s.length())
获取图像名称。这也适用于动态路径。我想知道,您是否仅尝试更改此特定路径或通用模式的路径(您刚刚给出了此类模式的示例)。你应该在问题中详细说明。
String path = "E:/HTML/project/img/image.jpg";
path = path.substring(StringUtils.ordinalIndexOf(path,'/',3));
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);

    }
}
String s = "E:\\HTML\\project\\img\\image.jpg";
String newString = s.replaceAll("(.*?)(\\\\img.*)", "$2");
System.out.println(newString);
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));