有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

在java中交换字符串中的字符组?

我想交换字符串中的字符组。 例如:

swap("aabbcdefg","aa","bb")  = bbaacdefg

swap("aabbcdefg","aa","efg") = efgbbcdaa

我是这样做的:

static String swap(String val, String sub1, String sub2)
    {

        String temp="tt";
        val= val.replace(sub1,temp);
        val= val.replace(sub2,sub1);       
        val= val.replace(temp,sub2);
        return val;
    }

我能用更有效的方法吗


共 (1) 个答案

  1. # 1 楼答案

    如果试图处理tt,原始代码将中断

    此代码按sub1拆分,循环通过sub2并用sub1替换sub2,然后与sub2连接

    static String swap(String val, String sub1, String sub2)
        {
            String[] items = val.split(sub1);
            for (int i=0; i<items.length; i++) 
            { 
                items[i] = items[i].replace(sub2, sub1);
            }
            return String.join(sub2, items);
        }