从字符串中减去字符串[Android]

时间:2013-06-06 11:48:08

标签: android string string-matching

我有以下两个字符串:

字符串一:
“abcabc / xyzxyz / 12345 / random_num_09 / somthing_random.txt”

字符串二:
“abcabc / xyzxyz / 12345 /”

我想要做的是从字符串一两个字符串二附加路径“random_num_09 / somthing_random.txt”。那么如何从字符串1中减去字符串2,然后将剩余部分附加到字符串2中。

我试图通过在字符串1中搜索倒数第二个“/”然后执行子字符串并将其附加到字符串2来尝试。

但是有没有更好的方法呢。

感谢。

2 个答案:

答案 0 :(得分:2)

我认为最好的方法是使用子串,如你所说:

String string_one = "abcabc/xyzxyz/12345/random_num_09/somthing_random.txt";
String string_two = "abcabc/xyzxyz/12345/";
String result = string_two + string_one.substring(string_one.indexOf(string_two)+1));

另一种可能性是使用正则表达式,但你仍然会进行连接以获得结果。

Pattern p = Pattern.compile(string_two+"(.*)");
Matcher m = p.matcher(string_one);
if (m.matches()) {
  String result = string_two+m.group(1);
}

答案 1 :(得分:2)

而不是子字符串,replace更易于使用:

String string1 = "abcabc/xyzxyz/12345/random_num_09/somthing_random.txt";
String string2 = "abcabc/xyzxyz/12345/";
String res = string2 + string1.replace(string2, "");