Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- String start = s.substring(0, s.indexOf("{"));
- String subString = s.substring(s.indexOf("{"), s.indexOf("}"));
- String end = s.substring(s.indexOf("}"));
- String check = "Какой-то текст, какой-то текст, { в этомj блоке нужно заменить лjатиницу на кирjиллицу, } " +
- "какой-то текст, какой-то текст, какой-то текст, какой-то текст, какой-то текст, какой-то текст, " +
- "какой-то текст, какой-то текст, какой-то текст, какой-то текст, какой-то текст, какой-то текст, " +
- "какой-то текст, какой-то текст, { в этомj блоке нужно заменить лjатиницу на кирjиллицу, } " +
- "какой-то текст, какой-то текст, какой-то текст, какой-то текст, { в этомj блоке нужно заменить лjатиницу на кирjиллицу, } " +
- "какой-то текст, какой-то текст, какой-то текст, какой-то текст, какой-то текст, какой-то текст, какой-то текст, " +
- "какой-то текст, какой-то текст, какой-то текст, какой-то текст, какой-то текст, какой-то текст, какой-то текст, " +
- "какой-то текст, какой-то текст";
- String replaceRegex = "[A-Za-z]";
- String tagRegex = "\{.*?"+replaceRegex+".*?}";
- //Определяем мапу с соответствием символов.
- Map<String,String> replaceConst = new HashMap<>();
- replaceConst.put("a","А");
- replaceConst.put("b","Б");
- //...
- replaceConst.put("j","Ъ");
- Matcher tagMatcher = Pattern.compile(tagRegex).matcher(check);
- while (tagMatcher.find()){
- String replaceString = tagMatcher.group();
- Matcher replaceMatcher = Pattern.compile(replaceRegex).matcher(replaceString);
- if (replaceMatcher.find()){
- replaceString = replaceString.replace(replaceMatcher.group(),replaceConst.get(replaceMatcher.group()));
- }
- check = check.replace(tagMatcher.group(),replaceString);
- }
- private static String replaceAll(String text,
- Map<Character, Character> symbols,
- String leftBorder,
- String rightBorder) {
- String patternTemplate = Pattern.quote(leftBorder) + "(.*?)" + Pattern.quote(rightBorder);
- Pattern pattern = Pattern.compile(patternTemplate);
- Matcher matcher = pattern.matcher(text);
- while (matcher.find()) {
- String replaceText = matcher.group();
- for (Entry<Character, Character> entry : symbols.entrySet())
- replaceText = replaceText.replace(entry.getKey(), entry.getValue());
- text = text.replace(matcher.group(), replaceText);
- }
- return text;
- }
- Map<Character, Character> symbols = new HashMap<>();
- symbols.put('j', 'Ъ');
- symbols.put('к', 'K');
- symbols.put('з', 'З');
- String result = replaceAll(text, symbols, "{", "}");
- private static String replaceAll(String text,
- String replaceText,
- String substitutionText,
- String leftBorderText,
- String rightBorderText) {
- String patternTemplate =
- "(?<=" + Pattern.quote(leftBorderText) + ")" +
- "(.*?)[" + replaceText + "](.*?)" +
- "(?=" + Pattern.quote(rightBorderText) + ")";
- String substitutionTemplate = "$1" + substitutionText + "$2";
- Pattern pattern = Pattern.compile(patternTemplate);
- Matcher matcher = pattern.matcher(text);
- if (matcher.find()) {
- String result = matcher.replaceAll(substitutionTemplate);
- return replaceAll(result, replaceText, substitutionText, leftBorderText, rightBorderText);
- } else
- return text;
- }
- String replaceText = "j";
- String substitution = "Ъ";
- String result = replaceAll(text, replaceText, substitution, "{", "}");
- String value = "Какой-то текст, какой-то текст, { в этомj блоке нужно заменить лjатиницу на кирjиллицу, } какой-то текст, какой-то текст, какой-то текст, какой-то текст, какой-то текст, какой-то текст, какой-то текст, какой-то текст, какой-то текст, какой-то текст, какой-то текст, какой-то текст, какой-то текст, какой-то текст, { в этомj блоке нужно заменить лjатиницу на кирjиллицу, } какой-то текст, какой-то текст, какой-то текст, какой-то текст, { в этомj блоке нужно заменить лjатиницу на кирjиллицу, } какой-то текст, какой-то текст, какой-то текст, какой-то текст, какой-то текст, какой-то текст, какой-то текст, какой-то текст, какой-то текст, какой-то текст, какой-то текст, какой-то текст, какой-то текст, какой-то текст, какой-то текст, какой-то текст";
- String result = value.replaceAll("{.*?}","какой-то текст 2");
Add Comment
Please, Sign In to add comment