Encontrar gerúndio num texto

3 respostas
M

Como faço para exibir em qual linha e coluna de um texto está uma palavra terminada com “ndo”?

Tenho um método que indica onde estão os delimitadores, mas estou com dificuldades para verificar quando tem três letras juntas: “ndo”.

Segue aqui o que eu tenho:

String tex = jTexto.getText(); String c = "", token = ""; int ln = 1, cl = 1, ct = 0, i = 0; while (ct < tex.length()) { c = String.valueOf(tex.charAt(ct)); if(!c.equals(" ")&&!c.equals(".")){ token = token + c; }else { resultado.setText(token+" na posição "+ln+", coluna "+cl+"\n"); cl=ct+1; if(c.equals("\n")){ cl=1; ln=ln+1; } token = ""; } ct++; } }

3 Respostas

Andre_Rosa

Você pode usar expressões regulares.

ndo\w{3}|\wndo\w{2}|\w{2}ndo\w|\w{3}ndo

M

me desculpe mas não estou familiarizado com expressões regulares.
pode exemplificar como eu poderia usar no meu código?

o que eu quero fazer é verificar no texto onde se encontra uma palavra que termina com ndo, e retornar a linha e a coluna de onde ela se encontra.

Andre_Rosa

Você pode dar uma olhada nestes dois links:

sobre obter as coordenadas em uma jTextArea:
http://www.codeguru.com/forum/showthread.php?p=1023892

sobre o uso de expressões regulares em Java:
http://www.guj.com.br/articles/1

leia o conteúdo dos links acima, e tente adapta-los junto a expressão regular que postei, de acordo com sua necessidade.

Criado 26 de agosto de 2011
Ultima resposta 26 de ago. de 2011
Respostas 3
Participantes 2