Java Replace

Não vai nada, isso so demonstra que nao percebes muito bem de java o caracter | esta ali a fazer de OU caso um daqueles 3 caracteres . _ - se encontrem na string ele susbstitui por um " ". Caso tenhas dúvidas vai testar porque aqui está mais que testado

Bom, isso não é verdade e não demonstra absolutamente nada. Por muito que te deleite, agradecia que não partisses para ofensas e que removesses essa frase (ou algum moderador), pois é completamente despropositada.

O caractér | pode de facto ser considerado um OR numa expressão regular mas, quando colocado dentro de parênteses rectos é avaliado como sendo um caractér normal (pesquisa por expressões regulares no google, e acho que rapidamente chegas a essa conclusão). Nas expressões regulares, há uma diferença entre parênteses curvos e rectos. O que tu queres são parênteses curvos. Testa a string "A|B" com a expressão que colocaste acima (com os parênteses rectos) e vais reparar que ele vai substituir o "|" por um " ".
 
Última edição:
Não percebo para quê tanta discussão, ele queria te ajudar estando errado ou não acho que não faz mal nenhum lhe agradeceres em vez de estares a manda-lo rever coisas etc.

Quanto à questão, se queres algo como no teu exemplo ou seja:

input --> Ola_esta.tudo-_.bem
output --> Ola esta tudo bem

Se fizeres com o replaceAll vais ter algo como: output --> Ola esta tudo bem (3 espaços entre o "tudo" e o "bem")

Já que ele vai substituir todos os caracteres por espaço, não sei se é bem isso que queres, senão for é melhor fazeres tu um método com um ciclo e resolve-te o problema.

Cumprimentos
 
Back
Topo