加入重叠的路径

时间:2017-07-04 11:43:54

标签: java string path

在java中,我有一个看起来像的字符串:

"c:\abc\def\ghi"

和另一个

"def\ghi\jkl.txt"

我怎样才能将两者的交集带到

"c:\abc\def\ghi\jkl.txt" 

编辑:

规则是:

将第一个字符串末尾的最大值替换为第二个字符串开头的最大值。

例如

  • b \ a \ n \ a \ n \ a和\ n \ a \ n \ a \ s结果应为b \ a \ n \ a \ n \ a \ s
  • with" c:\ abc \ def \ ghi"加入" def \ gji \ jkl.txt",我们有" c:\ abc \ def \ ghi \ def \ gji \ jkl.txt"

1 个答案:

答案 0 :(得分:1)

我只是查看第一个字符串并检查它是否以第二个字符串的最大可能开头结束。为了更快一点,我检查每个现有的反斜杠:

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";
}