搜索

首页  >  问答  >  正文

java - 如何同时去掉两个字符串相同的地方?

比如我现在有

String a = "今天天气很好我叫小王";
String b = "今天天气很好我叫大吴";

运算后想得到

String a = "小王";
String b = "大吴";
巴扎黑巴扎黑2890 天前389

全部回复(6)我来回复

  • 迷茫

    迷茫2017-04-17 18:00:09

    雷雷

    回复
    0
  • 高洛峰

    高洛峰2017-04-17 18:00:09

    let a = "今天天气很好我叫小王";
    let b = "今天天气很好我叫大吴";
    
    [a, b] = (a + b).replace(/(.+)(.+)/, '\n').split('\n');
    
    console.log(a, b);

    我是来凑热闹的,,es6 表示无压力。。。

    回复
    0
  • PHP中文网

    PHP中文网2017-04-17 18:00:09

    模式匹配问题

    回复
    0
  • ringa_lee

    ringa_lee2017-04-17 18:00:09

    如果像你说的:

    只要最前面连续的相同字符串去掉最好

    可以这样:

        String a = "今天天气很好我叫小王";
        String b = "今天天气很好我叫大吴";
    
        int length = Math.min(a.length(), b.length());
        int pos = 0;
        while (pos < length) {
            if (0 != (a.charAt(pos) ^ b.charAt(pos))) {
                break;
            }
            pos++;
        }
        System.out.println(a.substring(pos));
        System.out.println(b.substring(pos));
    

    要满足更大的需求,可能需要再发散一下

    回复
    0
  • 怪我咯

    怪我咯2017-04-17 18:00:09

    试试这个思路。遍历第一个串,得到字符后判断第二个串是否包含,如果包含,把两个串里所有的这个字符都去掉。

    回复
    0
  • 天蓬老师

    天蓬老师2017-04-17 18:00:09

    其实需求还能再说清楚一点,如果两个串分别是“今天天气很好我叫小王”和“今天天气很好我叫大吴是小王他哥”,这种情况要得到什么

    回复
    0
  • 取消回复