查找并替换字符串 Find And Replace in String

Posted timhy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了查找并替换字符串 Find And Replace in String相关的知识,希望对你有一定的参考价值。

2018-07-29 17:08:15

问题描述:

技术分享图片

技术分享图片

问题求解:

字符串替换的问题有个技巧就是从右向左进行替换,这样的话,左边的index就不需要考虑变动了。

    public String findReplaceString(String S, int[] indexes, String[] sources, String[] targets) {
        List<int[]> ls = new ArrayList<>();
        for (int i = 0; i < indexes.length; i++) ls.add(new int[]{indexes[i], i});
        Collections.sort(ls, new Comparator<int[]>() {
            @Override
            public int compare(int[] o1, int[] o2) {
                return o2[0] - o1[0];
            }
        });
        for (int[] pair : ls) {
            int index = pair[0];
            int i = pair[1];
            String source = sources[i];
            String target = targets[i];
            if (S.substring(index, index + source.length()).equals(source))
                S = S.substring(0, index) + target + S.substring(index + source.length());
        }
        return S;
    }

 

以上是关于查找并替换字符串 Find And Replace in String的主要内容,如果未能解决你的问题,请参考以下文章

[LeetCode] 890. Find and Replace Pattern 查找和替换模式

递归查找和替换字符串

查找并替换字符串

nyoj 113 字符串替换 (string中替换函数replace()和查找函数find())

必须掌握的函数

C ++查找和替换功能的单引号问题