// Pega os caracteres nas posições 0 e 12.// Podendo ser usado um for para fazer essa verificação e pegar todos os caracteres da string// O charAt retorna um char, tipo primitivo;intindex1=str.charAt(0);intindex2=str.charAt(6);// Printa os resultados na tela.System.out.println("O caractere da posição 0 é "+(char)index1);System.out.println("O caractere da posição 12 é "+(char)index2);}
}
/*
Saída:
O caractere da posição 0 é E
O caractere da posição 0 é o
*/
Espero ter ajudado.
A
aero_wil
JulioSilveira:
Bom, vc pode usar o charAt(int index), pra verificar os caracteres e ver em qual vc quer colocar o replace.
// Pega os caracteres nas posições 0 e 12.// Podendo ser usado um for para fazer essa verificação e pegar todos os caracteres da string// O charAt retorna um char, tipo primitivo;intindex1=str.charAt(0);intindex2=str.charAt(6);// Printa os resultados na tela.System.out.println("O caractere da posição 0 é "+(char)index1);System.out.println("O caractere da posição 12 é "+(char)index2);}
}
/*
Saída:
O caractere da posição 0 é E
O caractere da posição 0 é o
*/
Espero ter ajudado.
Julio mais se a palavra “Exemplo” estiver no meio da string e estiver com o “o” em maiúsculo e quero manter ele em maiúsculo ou minusculo se estiver.
Com esse método não vai dar certo
J
JulioSilveira
Você pode converter o char de retorno para String, e usar o método equals(“sua letra aqui”) para fazer a comparação.
Creio que seja isso que vc pediu, caso n seja, n entendi a dúvida.
E como gravo o caractere alterado na String depois?
D
darklordkamui
acho que o que vc quer realmente é o Escape Caracter…
Para imprimir algo assim:
“Diga “Hora Mundo!”.” Frase normal
“Diga \x22Hora Mundo!\x22.” Frase com Escape
alanrodrigues leia o que estão pedindo antes de sair postando… tem outro poste seu que vc fez o mesmo…
V
ViniGodoy
if (teste.equalsIgnoreCase("exemplo")) {
if (teste.charAt(6) == 'O') {
teste = teste.substring(0,6) + teste.charAt(6) == 'O' ? "Ö" : "ö";
}
}
A
aero_wil
ViniGodoy:
if (teste.equalsIgnoreCase("exemplo")) {
if (teste.charAt(6) == 'O') {
teste = teste.substring(0,6) + teste.charAt(6) == 'O' ? "Ö" : "ö";
}
}
Vini seu método serviria se minha string contivesse apenas a palavra que eu queria modificar, mais nesse caso ela pode estar em qualquer lugar no texto contido na string.
Encontrei o seguinte método que esta quase resolvendo… o problema que ele altera o estado da palavra, por exemplo
Entra :eXemPlo
Sai : exemplö
Mais pelo menos ele esta colocando o acento no “o” em qualquer palavra “exemplo” dentro da string.
teste=teste.replaceAll("(?i)exemplo","exemplö");
Será que é possível não alterar a forma da palavra e só adicionar o acento??
V
ViniGodoy
Se a saída pode ser toda em minúscula é só rodar o toLowerCase() e depois usar um replace comum.
Para alterar meu algoritmo para rodar em qualquer lugar da String, basta rodar um indexOf antes e usar o índice como referência.
E
entanglement
aero_wil:
Será que é possível não alterar a forma da palavra e só adicionar o acento??
A resposta simples é: um replaceAll apenas não faz isso (o único lugar em que vi uma coisa dessas funcionar foi no MS-Word).
Você precisa localizar manualmente (via Matcher.find()) o local da palavra, e então, letra por letra, verificar qual é o “case” dela.
A
aero_wil
ViniGodoy:
Se a saída pode ser toda em minúscula é só rodar o toLowerCase() e depois usar um replace comum.
Para alterar meu algoritmo para rodar em qualquer lugar da String, basta rodar um indexOf antes e usar o índice como referência.
Vini ,
O texto não pode ser todo em minúsculo, tem que manter e a forma original.
Se eu colocar um indexOf em seu método ele ira encontrar apenas uma palavra “exemplo”, e se na string contiver 2 ou mais?
A
aero_wil
entanglement:
aero_wil:
Será que é possível não alterar a forma da palavra e só adicionar o acento??
A resposta simples é: um replaceAll apenas não faz isso (o único lugar em que vi uma coisa dessas funcionar foi no MS-Word).
Você precisa localizar manualmente (via Matcher.find()) o local da palavra, e então, letra por letra, verificar qual é o “case” dela.
Vlw pela resposta,
Você poderia dar um exemplo de como fazer isso com apenas uma palavra dentro de uma string? lembrando que essa string pode conter varias delas.
E
entanglement
Estou supondo que você queira na verdade sempre corrigir os acentos de uma palavra que está com os acentos errados, certo?
Então separe sua string em palavras, corrija os acentos, e monte a string de volta. (Tradução: procure um exemplo você mesmo )