首页 > 解决方案 > java高亮字符串中字符的方法

问题描述

由于我不是最聪明的人,我想知道在我用 Java 编写的最新方法上可以做些什么不同的事情。

此方法突出显示字符串中的某些字符,这些字符通过字符数组传递给方法,方法是将它们放在括号中。你将做点什么不同的?

static String highlightCharsInString(String arg1, char[] arg2) {
    char[] arg1Char = arg1.toCharArray();
    int arrLength = ((arg1Char.length) * 2) + arg2.length;
    char[] hlChars = new char[arrLength];
    int a, b = 0;
    int y = 0;
    boolean match=false;
    //System.out.println(arg2.length);
    for(a=0; a < arg1Char.length; a++) {
        match=false;
        for(b=0; b < arg2.length; b++) {
            if (arg1Char[a] == arg2[b] && arg1Char[a] != ' ') {
                match=true;
                break;
            }
        }
        if(match==true) {
            hlChars[y] = '(';
            y++;
            hlChars[y] = arg1Char[a];
            y++;
            hlChars[y] = ')';
        }
        else {
            hlChars[y] = arg1Char[a];
        }
        y++;
    }
    String hlCharsString = new String(hlChars);
    return hlCharsString;
}

标签: javafor-loopmethods

解决方案


我会做这样的事情,希望这会有所帮助!

static String highlightCharsInString(String text, char[] charsToHighlight) {
    for (int i = 0; i < charsToHighlight.length; i++){
        text = text.replaceAll(String.valueOf(charsToHighlight[i]), "(" + charsToHighlight[i] + ")");
    }
    return text;
}

推荐阅读