Пропустить при реверсе строки/массива(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--;
}
}
}