Mensagens enviadas por: hugoramone
Índice dos Fóruns » Perfil de hugoramone » Mensagens enviadas por hugoramone
Autor Mensagem
Muito obrigado pela explicação!

Além de corrigir consegui entender o porque do erro, muito obrigado!
Pessoal... tenho uma classe que deve fazer o seguinte:


Tem um arraylist que recebe uma frase, mostra se alguma palavra da frase tem o "radical" _N junto dela, se tiver mostra a posição que ela está, mas depois de mostrar a posição dela não consigo mostrar o seu conteúdo.




package calculos;

import java.util.ArrayList;


public class Corpus {

Corpus() {


//Armazenar todos os _N em uma lista

ArrayList<Object> al = new ArrayList<Object>();
al.add("teste_N um_O array_P list_N para_I extrair_O valores_U");

Iterator it = al.iterator();

int index;
String str;

for (int i = 0; i < al.size(); i++) {
str = (String)it.next();
index = str.indexOf("_N");

if (al.contains(str)){
System.out.print("Sim, existe pelo menos um _N \n\n");
}

System.out.print("Se existe um _N, em que posição ele está? \n\n");

if (index > -1) {
System.out.println("Está na posição: " + index);
i = al.size();

String tst = (String) al.get(index);
System.out.println("Está na posição: " + index);



}


}

}


}



Saída:
Sim, existe pelo menos um _N

Se existe um _N, em que posição ele está?

Está na posição: 5
Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 5, Size: 1
at java.util.ArrayList.RangeCheck(Unknown Source)
at java.util.ArrayList.get(Unknown Source)
at calculos.Corpus.<init>(Corpus.java:39)
at calculos.CPrincipal.main(CPrincipal.java:


Obrigado,
Abraços

Pessoal, é a primeira vez que estou lidando com regex, li um pouco sobre a documentação.. e um pouco sobre o que tem no fórum, então não sei se é possível o que estou tentando fazer.


O que eu gostaria de saber é o seguinte.. tenho uma String do seguinte exemplo:


String: " eu_A estou_B aprendendo_C regex_D mas_E encontrei_F alguns_G desafios_H"


Onde eu preciso pegar uma letra, por exemplo: "_C".
só que além do C, eu preciso do que vem junto com ele na palavra, no caso o "aprendendo" isolado e também levar em consideração o que vem antes e depois do "_C", no caso o "_B" e o "_D".


----

O que já consegui:

já tive saída do arquivo assim: java.util.regex.Matcher[pattern=_N region=0,262 lastmatch=_N]

onde procurei por _N , mas não consegui pegar a palavra que o acompanhava, no caso era anos_N .. se tivesse uma maneira quem sabe de pegar o region e pegar posição anterior poderia ser uma solução.. mas não consegui.

também não posso pedir para pegar anos_N inteiro, pois a palavra que eu quero procurar as vezes leva outro radical, exemplo: obstrução_N



alguém tem alguma idéia? se tiver outro caminho aceito, pois não tenho conhecimento suficiente para saber se com regex venha a funcionar.


Obrigado e um abraço a todos.
 
Índice dos Fóruns » Perfil de hugoramone » Mensagens enviadas por hugoramone
Ir para:   
Powered by JForum 2.1.8 © JForum Team