Решил тут заморочиться не просто перебором всего и вся, а умным. Т.е. чтобы не перебирать все элементы для замены, я создаю динамический паттерн (т.е. при добавлении новых критериев для замены ничего менять не нужно), он находит в текущей строке совпадения и все они добавляются в Set коллекцию. В коллекции остаются только те элементы, которые нужно менять. Далее дело техники перебор коллекции и замена всех элементов по шаблону.
Все работает и меняет нужные элементы, но Валидатор не пропускает, это несправедливо! Он даже не видит, что поток к файлу закрывается и ругается на него! Что я упустил?
package com.javarush.task.task19.task1924;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Test {
public static void main(String[] args) {
String str = "Это стоит 1 бакс, а вот это - 12. 13 10 12 12a";
// Pattern pattern = Pattern.compile("(\\b\\d+\\b)");
Pattern pattern = Pattern.compile("(\\b12\\b)|(\\b10\\b)");
Matcher matcher = pattern.matcher(str);
// System.out.println(matcher.groupCount());
// System.out.println(matcher.group());
// matcher.f
while (matcher.find()) {
System.out.println(matcher.group());
}
}
}