Всем привет, еще только изучаю язык, строго не судите такой вопрос: все номера телефонов в тексте записанные в формате +375XXYYYYYYY с помощью regex заменить на +375(XX)YYY-YY-YY саму регулярку написать проблем нет, вопрос как заменить. matcher.replaceAll очевидно не работает по такому принципу
package Regex;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Phone {
public static void main(String[] args) {
Pattern p = Pattern.compile("[+]375(\\d{2})(\\d{3})(\\d{2})(\\d{2})");
String str = "+12315125 +375442345295 1235 +375257621398 ";
Matcher matcher = p.matcher(str);
while (matcher.find()) {
//???
System.out.println(matcher.replaceAll([+]375\((\d{2})\)(\d{3})\-(\d{2})\-(\d{2}));
}
}
}
String s = "+375125522214 +12315125 +375442345295 1235 +375257621398";
System.out.println(s.replaceAll("\\+375(\\d{2})(\\d{3})(\\d{2})(\\d{2})","+375($1)$2-$3-$4"));
Вывод: +375(12)552-22-14 +12315125 +375(44)234-52-95 1235 +375(25)762-13-98
.
Через Matcher
и Pattern
тоже можно:
Pattern p = Pattern.compile("[+]375(\\d{2})(\\d{3})(\\d{2})(\\d{2})");
String str = "+375125522214 +12315125 +375442345295 1235 +375257621398";
Matcher matcher = p.matcher(str);
System.out.println(matcher.replaceAll("+375($1)$2-$3-$4"));
Вывод: +375(12)552-22-14 +12315125 +375(44)234-52-95 1235 +375(25)762-13-98
.
Через $1
указывается ссылка на первую группу (выражение в скобках), выражение из этой группы подставляется на место $1
.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
при создании активити происходит выбор какой фрагмент отобразить на основе Extras в intent, и при выборе не первого фрагмента, а второго или третьего...
Есть небольшая проблема - нужно найти индекс элемента в стринговом массиве с помощью IndexOfВот кусок моего кода:
не могу создать буфер кадра в своем приложении для андроид на javaПожалуйста, можете сказать, что я делаю не так