Estou querendo salvar na String resultado tudo que vier antes do termo : "index of" da String texto.
Estava tentando usar a expressão regular: *index of, só que nunca acha nada.
Alguém pode me ajudar a construir uma expressão regular que se aplique ao meu caso e também a salvar tudo que vem antes de "index of" na string resultado?
importjava.util.regex.Matcher;importjava.util.regex.Pattern;publicclassMain{publicstaticvoidmain(String[]argv)throwsException{Patternend=Pattern.compile("\G\z");Matchermat=end.matcher("this is a test 999");if(mat.find())System.out.println(mat.group());}}
substring() resolve seu problema. Com regex é possível, porém fica mais feio e menos legível:
// com substring (cuidado!! se não houver 'index of' na frase ele// retorna -1 e vai dar erro) Stringfrase="3 is the index of 'u' in 'house'";Stringresultado=frase.substring(0,frase.indexOf("index of"));System.out.println(resultado);// com regex Patternp=Pattern.compile(".+index of");Matcherm=p.matcher(frase);if(m.find()){System.out.println(m.group().replace("index of",""));}