Ola pessoal,
preciso trocar caracteres acentuados pelo seu correspondente em uma string que é o nome de um arquivo. Existe algum metodo de java.lang.string? Alguem tem ideia de fazer isto?
Trocar caracteres em uma string
S
4 Respostas
S
para trocar os caracteres existe o método replace(x, y), onde x é o caracter a ser trocado e y o caracter que substituirá x, então para trocar todos os caracteres “á” seria assim:
string.replaceAll(“á”, “a”);
use este método para todos os caracteres que você deseja trocar que dará certo.
O
Kra, não sei c em Java tem algo específico para fazer essa troca… eu acho que não tem… mas vc pode tentar usar a seguinte lógica…
public class Replace {
private static String find = “áéíóú”;
private static String replaceFor = “aeiou”;
public static void main(String[] args) {
String s = “Remédio”;
System.out.println(replace(s));
}
public static String replace(String s) {
for (int i=0;i < find.length();i++) {
s = s.replace(find.charAt(i),replaceFor.charAt(i));
}
return s;
}
}
É meio lusitano, mas…
S
Obrigado pela dica.
Ficou assim:
File ftmp = new File("./tmp");
if(!ftmp.exists())
ftmp.mkdir();
int a = dir_nome.lastIndexOf("/");
novo_nome = dir_nome.substring(a).toLowerCase();
String aa[] = {"ç","á","à","ã","â","é","è","ê","í","ì","ó","ò","õ","ô","ú","ù"," "};
String bb[] = {"c","a","a","a","a","e","e","e","i","i","o","o","o","o","u","u","_"};
int ab;
for (ab = 0; ab <= 16; ab++)
{
novo_nome = novo_nome.replaceAll(aa[ab], bb[ab]);
}
D
nao tem como fazer isso usando expressoes regulares?!?
Criado 8 de novembro de 2004
Ultima resposta 8 de nov. de 2004
Respostas 4
Participantes 4
Alura Git Flow: entenda o que é, como e quando utilizar Entenda o que é Git Flow, como funciona seu fluxo com branches como Master, Develop, Feature, Release e Hotfix, além de vantagens e desvantagens.
Casa do Codigo Ontologias e Web Semantica: Do conceito a aplicacao Por Ivam Galvao Filho — Casa do Codigo