2009-07-15 12 views

risposta

15

È possibile utilizzare le espressioni regolari come in Java SE:

Pattern pattern = Pattern.compile(".* (Ka).*"); 
Matcher matcher = pattern.matcher("Manoj Kumar Kashyap"); 
if(matcher.matches()) 
{ 
    int idx = matcher.start(1); 
}
4

non hai bisogno di un'espressione regolare per farlo. Io non sono un esperto di Java, ma secondo il Android docs:

public int (string String) indexOf
Ricerche in questa stringa per la prima indice della stringa specificata. La ricerca per la stringa inizia all'inizio e si sposta verso la fine di questa stringa.

Parametri
stringa la stringa da trovare.

ritorni
l'indice del primo carattere della stringa specificata in questa stringa, -1 se l' stringa specificata non è una stringa.

probabilmente finirete con qualcosa di simile:

int index = somestring.indexOf(" Ka"); 
0

Se davvero bisogno di espressioni regolari e non solo indexOf, è possibile farlo in questo modo

String[] split = "Manoj Kumar Kashyap".split("\\sKa"); 
if (split.length > 0) 
{ 
    // there was at least one match 
    int startIndex = split[0].length() + 1; 
} 
Problemi correlati