Метод replaceAll
принимает регулярное выражение в качестве аргумента.Чтобы удалить все, кроме цифр и +
, вы можете сделать
str = str.replaceAll("[^0-9+]", "")
Вот более полный пример, который также вычисляет код страны (на основе индекса символа (
):
String str = "+49 (0)711 / 61947-12";
int lpar = str.indexOf('(');
String countryCode = str.substring(0, lpar).trim();
String subscriber = str.substring(lpar).trim();
subscriber = subscriber.replaceAll("[^0-9]", "");
System.out.println(countryCode); // prints +49
System.out.println(subscriber); // prints 07116194712
replaceAll("//()-","")
это правильно?
Нет, не совсем.Это удалит все //-
подстроки.Чтобы удалить эти символов , вам нужно поместить их в [...]
, например: replaceAll("[/()-]", "")
(и /
не нужно экранировать).