Как я могу найти букву в строке (если это «cc» вместе, она ее покидает, но если это только «c», она удаляет ее)?Как найти определенный символ в строке программно
Я понятия не имею, как это сделать, поэтому, если кто-то знает, я был бы очень благодарен.
Я пробовал разбивать целую строку на вкладку и проверять, является ли индекс «c», а затем ищет + -1 индекс, чтобы проверить, находится ли «c» рядом с ним, но это не сработало.
Теперь я изменил «==», но он все еще пропускает некоторые буквы. если я вход "abaabbcbaccb" он должен вывести → "aabaaaabbaaccb" Моя программа пропускает этот автономный "с" ..
public class NovNiz{
public static String urejanjeBesedila(String a){
String niz="";
a.toLowerCase();
String spr = a.replaceAll("a", "aa");
spr = spr.toLowerCase();
spr = spr.replaceAll("bb", "b");
String []tab=spr.split(" ");
if(tab.length>0){
for(int i=0;i<tab.length;i++){
if(tab[i].indexOf("cc")>0){
niz=niz+tab[i]+" ";
continue;
}
if(tab[i].indexOf("c")>=0){
int x=tab[i].indexOf("c");
StringBuffer sb= new StringBuffer(tab[i]);
sb.deleteCharAt(x);
tab[i]=sb.toString();
}
niz=niz+tab[i]+" ";
}
}
else{
String []tab2=spr.split("");
for(int i=0;i<tab.length;i++){
if(i==0){
if("c".equals(tab[i])&&"c".equals(tab[i+1])){
}
else if("c".equals(tab[i])){
tab[i]="";
}
}
else{
if("c".equals(tab[i])&&"c".equals(tab[i+1])||"c".equals(tab[i-1])){
}
else if("c".equals(tab[i])){
tab[i]="";
}
}
}
}
return niz;
}
}
' [i] == "c" 'не так, как вы сравниваете' String 'в Java, вместо этого вы должны использовать что-то вроде' 'c '.equals (tab [i])' – MadProgrammer
'spr.toLowerCase();' is не то, как вы превращаете весь символ spr в нижний регистр. Вместо этого вы должны использовать что-то вроде 'spr = spr.toLowerCase();' – SMA
Oh, а 'String' является неизменным в Java – MadProgrammer