Как объединить 2 while с одинаковым условием в один?
Нужна помощь в упрощении кода. Как можно объединить два цикла в один? Буду Вам очень благодарен. Вот его часть (в которой нужно объединить циклы):
public class uuu {
public static void main(String[] args) {
final String s = "bbbAAbbbCCbbb";
String t = ""; // AAbbbCCbbb
int i = 0;
while (i < s.length()) {
final char ch = s.charAt(i);
if (ch != 'b') {
break;
}
i++;
}
while (i < s.length()) {
final char ch = s.charAt(i);
t += ch;
i++;
}
System.out.println(t);
}
}
Ответы (2 шт):
Автор решения: Igor
→ Ссылка
bool flag_not_b = false;
while (i < s.length()) {
final char ch = s.charAt(i);
if (!flag_not_b)
flag_not_b = ch != 'b';
if (flag_not_b)
t += ch;
i++;
}
Автор решения: Frog
→ Ссылка
Ну если уж совсем упрощать, то все циклы можно заменить одной регуляркой.
public class uuu {
public static void main(String[] args) {
final String s = "bbbAAbbbCCbbb";
// убирает все символы b в начале строки
String t = s.replaceAll("^b*", "");
System.out.println(t);
}
}