| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/09/2007 13:01:53
|
RafaelVS
JavaEvangelist
![[Avatar]](/images/avatar/50454f95bbf5e6478cc0a55d08338731.jpg)
Membro desde: 13/12/2006 09:50:16
Mensagens: 405
Localização: Recife - PE
Offline
|
Pessoal,
Basicamente, o que preciso é de alguma forma de tratar uma string do jeito que ela está escrita, ignorando os caracteres especiais.
Preciso trocar a String "${root}" pela raiz de um SO especifico. Mas ao usar o replace de String, está dando o seguinte erro:
Exception in thread "main" java.util.regex.PatternSyntaxException: Illegal repetition near index 0
${root}
at java.util.regex.Pattern.error(Unknown Source)
at java.util.regex.Pattern.closure(Unknown Source)
at java.util.regex.Pattern.sequence(Unknown Source)
at java.util.regex.Pattern.expr(Unknown Source)
at java.util.regex.Pattern.compile(Unknown Source)
at java.util.regex.Pattern.<init>(Unknown Source)
at java.util.regex.Pattern.compile(Unknown Source)
Estudando para a certificação eu vi uns problemas básicos relacionados aos metacaracteres, onde apenas precisamos adicionar algumas barras..
Ex.: para tratarmos o ponto como o "caracter ponto" ao inves de o "metacaracter ponto", devemos colocar "\\.", pois se colocarmos "." estaremos procurando por qualquer caractere.
Mas para uma String completa, como faria isso? Tem como escapar uma string completa, ao invés de apenas um caracter?
This message was edited 1 time. Last update was at 13/09/2007 13:41:16
|
- Mestrando em Engenharia de Software no CIn/UFPE;
- Pós-Graduado em Engenharia de Software na POLI/UPE;
- Bacharel em Ciência da Computação na UNICAP (Universidade Católica de Pernambuco);
- Sun Certified Programmer for the Java 2 Platform, Standard Edition 5.0 (score 95%);
- Sun Certified Web Components Developer for J2EE 1.4 Platform (score 89%) |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/09/2007 13:33:10
|
thingol
Moderador
Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline
|
Acabei de responder isso agora. Você pode usar "Pattern.quote", ou então pôr um "\\Q" no começo e um "\\E" no fim da string. (Use Pattern.quote de preferência, a menos que esteja usando o Java 1.4.)
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/09/2007 13:40:47
|
RafaelVS
JavaEvangelist
![[Avatar]](/images/avatar/50454f95bbf5e6478cc0a55d08338731.jpg)
Membro desde: 13/12/2006 09:50:16
Mensagens: 405
Localização: Recife - PE
Offline
|
Legal!!
Sabia que deveria existir uma solução mas não sabia como seria, nem consegui pesquisar direito pois não sabia nem que tags de busca utilizar. Como demonstrei no próprio nome do tópico hehehe
Funcionou com o Pattern.quote(""). Valeu!!
|
- Mestrando em Engenharia de Software no CIn/UFPE;
- Pós-Graduado em Engenharia de Software na POLI/UPE;
- Bacharel em Ciência da Computação na UNICAP (Universidade Católica de Pernambuco);
- Sun Certified Programmer for the Java 2 Platform, Standard Edition 5.0 (score 95%);
- Sun Certified Web Components Developer for J2EE 1.4 Platform (score 89%) |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/09/2007 13:43:40
|
thingol
Moderador
Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline
|
Para esse tipo de coisa nada substitui a leitura minuciosa do Javadoc. Veja:
http://java.sun.com/j2se/1.5.0/docs/api/java/util/regex/Pattern.html
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/09/2007 13:56:01
|
RafaelVS
JavaEvangelist
![[Avatar]](/images/avatar/50454f95bbf5e6478cc0a55d08338731.jpg)
Membro desde: 13/12/2006 09:50:16
Mensagens: 405
Localização: Recife - PE
Offline
|
duplicado @@
sorry
This message was edited 1 time. Last update was at 13/09/2007 13:59:40
|
- Mestrando em Engenharia de Software no CIn/UFPE;
- Pós-Graduado em Engenharia de Software na POLI/UPE;
- Bacharel em Ciência da Computação na UNICAP (Universidade Católica de Pernambuco);
- Sun Certified Programmer for the Java 2 Platform, Standard Edition 5.0 (score 95%);
- Sun Certified Web Components Developer for J2EE 1.4 Platform (score 89%) |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/09/2007 13:58:55
|
RafaelVS
JavaEvangelist
![[Avatar]](/images/avatar/50454f95bbf5e6478cc0a55d08338731.jpg)
Membro desde: 13/12/2006 09:50:16
Mensagens: 405
Localização: Recife - PE
Offline
|
concordo que devemos sempre olhar o javadoc, mas nesse caso em particular eu não sabia nem por o que procurar...
precisaria de uma contextualização para explicar o que eu estava precisando e o ctrl+f do browser não tem essa funcionalidade, por isso recorri ao guj.
(sem contar que eu tava usando um método da classe String, onde a explicação do erro estava na classe Pattern... kd o encapsulamento da sun huhuhu)
|
- Mestrando em Engenharia de Software no CIn/UFPE;
- Pós-Graduado em Engenharia de Software na POLI/UPE;
- Bacharel em Ciência da Computação na UNICAP (Universidade Católica de Pernambuco);
- Sun Certified Programmer for the Java 2 Platform, Standard Edition 5.0 (score 95%);
- Sun Certified Web Components Developer for J2EE 1.4 Platform (score 89%) |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/09/2007 14:06:32
|
thingol
Moderador
Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline
|
Bom, eu não quis dar uma bronca. (Eu li e reli essa página do javadoc e ainda tem coisas, principalmente os padrões "greedy", que não estão explicadas direito lá - você tem de olhar em outros sites para conseguir entender melhor). De fato a solução ao seu problema não pode ser achada facilmente no Google.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/09/2007 14:13:48
|
RafaelVS
JavaEvangelist
![[Avatar]](/images/avatar/50454f95bbf5e6478cc0a55d08338731.jpg)
Membro desde: 13/12/2006 09:50:16
Mensagens: 405
Localização: Recife - PE
Offline
|
eu interpretei errado então..
desculpe-me por qualquer coisa e obrigado pela ajuda.
|
- Mestrando em Engenharia de Software no CIn/UFPE;
- Pós-Graduado em Engenharia de Software na POLI/UPE;
- Bacharel em Ciência da Computação na UNICAP (Universidade Católica de Pernambuco);
- Sun Certified Programmer for the Java 2 Platform, Standard Edition 5.0 (score 95%);
- Sun Certified Web Components Developer for J2EE 1.4 Platform (score 89%) |
|
|
 |
|
|