Java 连接重叠的路径
在java中,我有一个字符串,如下所示:Java 连接重叠的路径,java,string,path,Java,String,Path,在java中,我有一个字符串,如下所示: "c:\abc\def\ghi" 还有一个就是 "def\ghi\jkl.txt" 我怎样才能做到两者的交集呢 "c:\abc\def\ghi\jkl.txt" 编辑: 这些规则是: 将第一个字符串末尾的最大值替换为第二个字符串开头的最大值 例如 b\a\n\a\n\a和a\n\a\n\a\s结果应为b\a\n\a\n\a\s “c:\abc\def\ghi”加入“def\gji\jkl.txt”,我们有“c:\abc\def\ghi\def\
"c:\abc\def\ghi"
还有一个就是
"def\ghi\jkl.txt"
我怎样才能做到两者的交集呢
"c:\abc\def\ghi\jkl.txt"
编辑:
这些规则是:
将第一个字符串末尾的最大值替换为第二个字符串开头的最大值
例如
- b\a\n\a\n\a和a\n\a\n\a\s结果应为b\a\n\a\n\a\s
- “c:\abc\def\ghi”加入“def\gji\jkl.txt”,我们有“c:\abc\def\ghi\def\gji\jkl.txt”
public static String join(String begin, String end) {
for (int i = end.lastIndexOf("\\"); i >= 0; i = end.lastIndexOf("\\", i - 1)) {
if (begin.endsWith(end.substring(0, i)) && begin.charAt(begin.length() - (i+1)) == '\\') {
return begin + end.substring(i);
}
}
return "strings dont contain same folder sequence";
}
您首先必须为连接定义适当的规则。例如,加入“def\gji\jkl.txt”的“c:\abc\def\ghi”会给你什么?特别是,加入
b\a\n\a\n\a
到a\n\a\s
-应该是b\a\n\a\s
还是b\a\n\a\n\a\n\a\s
?事实上,这是同一条路,但我没有开始,所以我必须加入一条与otherRight开头相同的路径。你的评论并不比你原来的问题更清楚。因此,您需要准确地考虑规则是什么,然后更新您的问题以更清楚地表达它们。还要考虑到,可能存在与父文件夹同名的子文件夹。谢谢您的回答,所以在Java中没有预先制作的方法,至少我不知道。