[Java]Pontuação e format

jamo1

Membro
Olá sou novo no fórum e gostaria que me ajudassem. Estou a fazer um trabalho de programação em Java,e gostaria de saber como posso identificar a pontuação numa String.

Até agora fiz um split da String com os espaços, mas para os propósitos do programa(encontrar prefixos num texto) não me convém que estejam presentes no vector pontos de exclamação, virgulas,etc. Já tentei usar um charAt, mas não funcionou e também tentei um equalsTo, mas nao resultou novamente.

Mais à frente, pedem-me para transformar uma palavra(String que está presente numa linha e tem um índice) num formato do tipo:

  • %w significa a própria palavra
  • %l significa o número da linha onde se encontra a palavra
  • %p significa o índice da palavra dentro da linha
  • %c significa que se deve colocar uma vírgula
  • %n significa uma mudança de linha
  • %t significa uma tabulação
  • %s significa um espaço
  • %( significa um (
  • %) significa um )
Tenho que usar o format certo? Alguem me podia explicar como este se usa, já fui ao API 1.5 mas aquilo não me esclareceu.

Desde já muito obrigado.
 
Correcção: Tenho que converter do formato:

  • %w significa a própria palavra
  • %l significa o número da linha onde se encontra a palavra
  • %p significa o índice da palavra dentro da linha
  • %c significa que se deve colocar uma vírgula
  • %n significa uma mudança de linha
  • %t significa uma tabulação
  • %s significa um espaço
  • %( significa um (
  • %) significa um )
para uma String
 
o CharAt() tem que funcionar, é so percorreres a palavra do fim até ao primeiro simbolo diferente de ?!.,; e outro tipo de caracteres(ver na tabela de ascii).

Relativamente ao resto, supondo que sejas da FCUL, eu tive a ajudar uns tantos colegas teus nesses projecto, em coisinhas mais superfulas.

Esse metodo é suposto devolver uma String, formatada com algum desses formatos?
 
jamo1, também estou a fazer esse projecto (1º ano LEI) e o que esse método pede acho que é apenas definires a formatação que este recebe como a formatação base tipo:

imagina que utilizavam defineReport("%w%c%(%l%c%p%)")
iria guardar esta string como o tipo de formatação base "%w%c%(%l%c%p%)".
Depois quando invocasses outro metodo tipo o formatWord(quanto) //quanto é um exemplo de uma palavra tipo na 5a linha 2a posição.
terias aqui de fazer uma série de replaces onde irias substituir na string "%w%c%(%l%c%p%)" as várias coisas e iria fazer o return da seguinte string "quanto,(5,2)".

Penso que seja isso.

Quanto ao split quanto tu fazes o split vais definir que queres que separe a string quando encontrar um espaço. É só acrescentares ao código que queres que separe também quando encontrar pontuação.

Boa sorte com o resto do trabalho :)
 
Última edição:
Olá sou novo no fórum e gostaria que me ajudassem. Estou a fazer um trabalho de programação em Java,e gostaria de saber como posso identificar a pontuação numa String.

Até agora fiz um split da String com os espaços, mas para os propósitos do programa(encontrar prefixos num texto) não me convém que estejam presentes no vector pontos de exclamação, virgulas,etc. Já tentei usar um charAt, mas não funcionou e também tentei um equalsTo, mas nao resultou novamente.

Mais à frente, pedem-me para transformar uma palavra(String que está presente numa linha e tem um índice) num formato do tipo:
  • %w significa a própria palavra
  • %l significa o número da linha onde se encontra a palavra
  • %p significa o índice da palavra dentro da linha
  • %c significa que se deve colocar uma vírgula
  • %n significa uma mudança de linha
  • %t significa uma tabulação
  • %s significa um espaço
  • %( significa um (
  • %) significa um )
Tenho que usar o format certo? Alguem me podia explicar como este se usa, já fui ao API 1.5 mas aquilo não me esclareceu.

Desde já muito obrigado.


Pode ser uma medida um pouco extremista...mas se n te interessam os pontos, virgulas, etc...pk é k nao os tiras?
Supondo que tens tudo numa string inicial(por exemplo texto) fazes o seguinte:
texto=texto.replace("!", "");

E assim para todos os caracteres que nao te interessem!
É só uma ideia....
Abraço

PS: como é obvio depois terias k fazer o split de texto pelos espaços....espero que tenha ajudado
 
Back
Topo