Então, eu gostaria de ler essa string e buscar pelo termo “Característica 1” e a partir dessa pesquisa, preciso que seja retornado o valor deste termo, no caso “texto texto”.
O Split/indexof são legais, mas o problema, é que como eu tenho um texto corrido, não há separadores em meu texto…
Eu não posso incluir uma separação por ponto, por exemplo.
Teria como identificar uma parte dentro da string e trazer tudo que é posterior?
I
icarometal
o problema é que você precisa de uma condição de parada, sem isso o maximo que você consegue é pegar de um ponto X (pode ser Característica 1) até o fim do texto inteiro.
R
ricardobnjunior
Isso, eu consegui pegar de “Característica 1” até o fim do texto inteiro…
Mas que gostaria de pegar separado… Há como fazer isto?
I
icarometal
o que você chama de pegar separado?
I
igor_ks
Algoritimo:
Acha o indice da palavra “Característica 1”
Acha o indice da palavra "Característica 2"
Caracteristica 1 = Indice caracteristica 1, até indice da caracteristica 2
e assim por diante
F
FacaNaCaveira
A quebra de linha existe dentro dos textos ou somente na divisao deles?
R
ricardobnjunior
Chamo de pegar separado só o texto + o título.
R
ricardobnjunior
Amigo, poderia enviar um exemplo de código? Não estou conseguindo pegar estes índices…
Em meu problema, pode acontecer de duas categorias terem o mesmo nome…
R
Solucao aceita
ricardobnjunior
Galera, problema resolvido.
Para resolver, criei um array de palavras chave, utilizei uma união de expressão regular, indexof e split.
Segue código utilizado:
String[]palavrasChave={"Palavra chave 1","Palavra Chave 2","Palavra Chave 3"};StringTextoCorrido=pdfManager.ToText();/*recebe o texto corrido por completo*/StringnewTexto=TextoCorrido.replaceAll("[.]\\s\n","aaaaaaaaaa");for(inti=0;i<palavrasChave.length;i++){newTexto=newTexto.replaceAll(palavrasChave[i],"aaaaaaaaaa"+palavrasChave[i]);}String[]partesTexto=newTexto.split("aaaaaaaaaa");for(inti=0;i<partesTexto.length;i++){for(intj=0;j<palavrasChave.length;j++){begin=(int)partesTexto[i].indexOf(palavrasChave[j]);if(begin!=-1){dadosForSave.add(partesTexto[i]);}}}