Dúvida com Replace

Bom dia a todos, precisa formatar os numeros de telefone que vem em uma lista, gostaria de retirar tudo que nao fosse numero,
então fiz o seguinte

        for (PessoaDado p : listPessoa) {

            for (int i = 0; i < p.getpTelefone1().length(); i++) {

                if (Character.isDigit(p.getpTelefone1().charAt(i)) == false) {

                    String sf = p.getpTelefone1().replace(p.getpTelefone1().charAt(i), "");

                    System.out.println("String Formatada: " + sf);
                }
            }
        }

Porém o metodo “replace” fica grifado apontando erro…
Erro: Cannot find Symbol.

Troque

    for (int i = 0; i < p.getpTelefone1().length(); i++) {  
  
        if (Character.isDigit(p.getpTelefone1().charAt(i)) == false) {  
  
            String sf = p.getpTelefone1().replace(p.getpTelefone1().charAt(i), "");  
  
            System.out.println("String Formatada: " + sf);  
        }  
    } 

por

String sf = p.getpTelefone1().replaceAll ("[^0-9]", "");

Por que você está tentando substituir um char por uma String.

Obrigado pelas respostas, agora que reparei na burrada… :oops: