Retirar parte de um texto (String)?

Tenho uma String que é um texto enorme (cerca de 20 páginas). É um texto corrido.

Dentro do texto tem informações como:

Características 1: texto texto texto texto texto texto texto.
Características 2: texto texto texto texto texto texto texto.
Características 2: texto texto texto texto texto texto texto.

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”.

Como fazer isso?

Sem fez algum código?

bom dia
dá uma olhada nesse link

http://www.devmedia.com.br/metodos-split-e-indexof-mais-metodos-da-classe-string/23458

espero ter ajudado

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?

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.

Isso, eu consegui pegar de “Característica 1” até o fim do texto inteiro…
Mas que gostaria de pegar separado… Há como fazer isto?

o que você chama de pegar separado?

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

A quebra de linha existe dentro dos textos ou somente na divisao deles?

Chamo de pegar separado só o texto + o título.

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…

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"};
	String TextoCorrido = pdfManager.ToText(); /*recebe o texto corrido por completo*/
	String newTexto = TextoCorrido.replaceAll("[.]\\s\n", "aaaaaaaaaa");
	
	for(int i = 0; i < palavrasChave.length; i++){
		newTexto = newTexto.replaceAll(palavrasChave[i], "aaaaaaaaaa"+palavrasChave[i]);	
	}

	String[] partesTexto = newTexto.split("aaaaaaaaaa");
	
	
	for(int i = 0; i < partesTexto.length; i++){
		for(int j = 0; j < palavrasChave.length; j++){
			
			begin = (int) partesTexto[i].indexOf(palavrasChave[j]);
			if(begin != -1){
				dadosForSave.add(partesTexto[i]);
			}
			
		}
	}