Пропустить при реверсе строки/массива(char) определненные символы введенные пользователем в EditText

Есть метод принимающий массив char, который делает проверку массива на числа и спецсимволы и не учитывает их при реверсе. Есть дополнительная строка, куда пользователь указывает символы, которые должны игнорироваться при реверсе массива. Как добавить такую проверку к этому методу?

public static void reverse(char str[]) {
   
    int r = str.length - 1, l = 0;

    while (l < r) {
        
        if (!Character.isAlphabetic(str[l]))
            l++;
        else if(!Character.isAlphabetic(str[r]))
            r--;

        else {
            char tmp = str[l];
            str[l] = str[r];
            str[r] = tmp;
            l++;
            r--;
        }
    }
}

Ответы (1 шт):

Автор решения: woesss
public static void reverse(char str[], String filter) {
   
    int r = str.length - 1, l = 0;

    while (l < r) {
        
        if (!Character.isAlphabetic(str[l]) || filter.indexOf(str[l]) != -1)
            l++;
        else if(!Character.isAlphabetic(str[r]) || filter.indexOf(str[r]) != -1)
            r--;

        else {
            char tmp = str[l];
            str[l] = str[r];
            str[r] = tmp;
            l++;
            r--;
        }
    }
}

→ Ссылка