stringa.indexOf('carattere')
restituisce la posizione nella stringa del primo di quei caratteri.
Il carattere di partenza è 0. Se non trova nulla restituisce -1. Se vuoi estrarli tutti devi ciclare all'interno della stringa, ripartendo ogni volta dal carattere successivo a quello che hai trovato. A tal fine puoi utilizzare questa forma del metodo sovraccaricata che ti permette di specificare una posizione di inizio ricerca: indexOf(int carattere, int posizione di inizio ricerca).
Guardati questo esempio:
Cicla all'interno di una stringa (trasformata in stringBuffer) e carica una matrice contenente tutte le posizioni dei caratteri ricercati.
String newStringa;
StringBuffer buffer = new StringBuffer(stringa);
int dimBuffer = buffer.length();
int indTab = 0;
int tabPosizioni[] = new int[dimBuffer + 1];
for(int ind=0; ind<dimBuffer; ind++)
{
ind = stringa.indexOf('x', ind);
if(ind == -1) break;
indTab++;
tabPosizioni[indTab] = stringa.indexOf('x', ind);
}
Spero di essere stato esauriente.
CIAO