import java.util.*;
import java.util.regex.*;
import java.util.stream.Collectors;
class Ideone {
public static void main
(String[] args
) { Map
<String, String
> mappings
= new HashMap
<>(); mappings.put("ck","k");
mappings.put("dd","wr");
mappings.put("f", "m");
System.
out.
println(replace
("odd flock", mappings
)); // prints: owr mlok }
Matcher m = Pattern.compile(toRegex(mappings.keySet())).matcher(input);
while (m.find())
m.appendReplacement(buf, Matcher.quoteReplacement(mappings.get(m.group())));
return m.appendTail(buf).toString();
}
private static String toRegex
(Collection
<String
> keys
) { return keys.stream().map(Pattern::quote).collect(Collectors.joining("|"));
}
}
aW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS51dGlsLnJlZ2V4Lio7CmltcG9ydCBqYXZhLnV0aWwuc3RyZWFtLkNvbGxlY3RvcnM7CgpjbGFzcyBJZGVvbmUgewoJcHVibGljIHN0YXRpYyB2b2lkIG1haW4oU3RyaW5nW10gYXJncykgewoJCU1hcDxTdHJpbmcsIFN0cmluZz4gbWFwcGluZ3MgPSBuZXcgSGFzaE1hcDw+KCk7CgkJbWFwcGluZ3MucHV0KCJjayIsImsiKTsKCQltYXBwaW5ncy5wdXQoImRkIiwid3IiKTsKCQltYXBwaW5ncy5wdXQoImYiLCAibSIpOwoJCVN5c3RlbS5vdXQucHJpbnRsbihyZXBsYWNlKCJvZGQgZmxvY2siLCBtYXBwaW5ncykpOyAvLyBwcmludHM6IG93ciBtbG9rCgl9Cglwcml2YXRlIHN0YXRpYyBTdHJpbmcgcmVwbGFjZShTdHJpbmcgaW5wdXQsIE1hcDxTdHJpbmcsIFN0cmluZz4gbWFwcGluZ3MpIHsKCQlTdHJpbmdCdWZmZXIgYnVmID0gbmV3IFN0cmluZ0J1ZmZlcigpOwoJCU1hdGNoZXIgbSA9IFBhdHRlcm4uY29tcGlsZSh0b1JlZ2V4KG1hcHBpbmdzLmtleVNldCgpKSkubWF0Y2hlcihpbnB1dCk7CgkJd2hpbGUgKG0uZmluZCgpKQoJCQltLmFwcGVuZFJlcGxhY2VtZW50KGJ1ZiwgTWF0Y2hlci5xdW90ZVJlcGxhY2VtZW50KG1hcHBpbmdzLmdldChtLmdyb3VwKCkpKSk7CgkJcmV0dXJuIG0uYXBwZW5kVGFpbChidWYpLnRvU3RyaW5nKCk7Cgl9Cglwcml2YXRlIHN0YXRpYyBTdHJpbmcgdG9SZWdleChDb2xsZWN0aW9uPFN0cmluZz4ga2V5cykgewoJCXJldHVybiBrZXlzLnN0cmVhbSgpLm1hcChQYXR0ZXJuOjpxdW90ZSkuY29sbGVjdChDb2xsZWN0b3JzLmpvaW5pbmcoInwiKSk7Cgl9Cn0=