Existe uma função que substitua todos os caracteres de uma string, em apenas um caractere mantendo o tamanho?
Por exemplo, vamos supor que eu queria substituir todos os caracteres de uma string para * (asterisco). Entao ficaria, na string x = “hugo”, retornaria: ****
Na string x = “futebol”, retornaria: *******
Em PHP tem uma função que faz isso, existe alguma em java já pronta?
Valeu!
String s = "teste";
System.out.println(s.replaceAll("\w", "*"));
No exemplo, o primeiro parâmetro do método é uma expressão regular que captura todos os caracteres alfanuméricos.
Se for para utilizar um password como entrada em algum formulário, utilize os campos que foram feitos para esse fim. Por exemplo, para Swing, utlize o javax.swing.JPasswordField.
Muito legal, não sabia como usar expressões regulares com String, fiz um método que faz a mesma coisa, mais a título de conhecimento.
/**
* @param str Objeto do tipo String com a sequencia que sera alterada
* @param ch Variavel do tipo char com o caractere para substituir
* @return Objeto String com a sequencia de caracteres alterada
*/
public String replaceToChar(String str, char ch) {
char[] c = new char[str.length()];
for(int i = 0; i < str.length(); i++)
c[i] = ch;
return new String(c);
}
System.out.println(obj.replaceToChar("Teste", '*'));