У меня есть список символов Unicode, которые должны быть заменены некоторыми другими символами, у меня это работает. Но я должен повторить это дважды, чтобы получить результат. Можно ли зациклить только один раз и получить результат?
Например, я хочу заменить это "\ u201C", "\ u201D" на "\" "(умная двойная кавычка со стандартной двойной кавычкой) изаменить "\ u2018", "\ u2019" на "'" (умная одинарная кавычка со стандартной одинарной кавычкой)
public class HelloWorld{
public static void main(String []args){
List<String> toRemove = Arrays.asList("\u201C","\u201D");
List<String> toRemove1 = Arrays.asList("\u2018","\u2019");
String text = "KURT’X45T”YUZXC";
text=toRemove.stream()
.map(toRem -> (Function<String,String>) s -> s.replaceAll(toRem, "\""))
.reduce(Function.identity(), Function::andThen)
.apply(text);
System.out.println("---text--- "+ text);
text=toRemove1.stream()
.map(toRem -> (Function<String,String>) s -> s.replaceAll(toRem, "'"))
.reduce(Function.identity(), Function::andThen)
.apply(text);
System.out.println("---text-1-- "+ text);
}
}