【问题标题】:Subtracting string from a string [Android]从字符串中减去字符串 [Android]
【发布时间】:2013-06-06 11:48:07
【问题描述】:

我有以下两个字符串:

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

字符串二:
"abcabc/xyzxyz/12345/"

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

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

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

谢谢。

【问题讨论】:

  • 你不只是在尝试做string2 = string1; 吗?
  • 不,我想将字符串 1 的某些部分附加到字符串 2。
  • 你能发布一个结果string2与string1不同的例子吗?

标签: android string string-matching


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

    而不是一个子字符串,replace 使用起来更简单:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-06-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多