Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.ArrayList;
- import java.util.List;
- import java.util.Scanner;
- import java.util.regex.Matcher;
- import java.util.regex.Pattern;
- public class AnonymousVox {
- public static void main(String[] args) {
- Scanner scanner = new Scanner(System.in);
- String encodedText = scanner.nextLine();
- String placeholdersText = scanner.nextLine();
- List<String> placeholders = new ArrayList<>();
- while (placeholdersText.indexOf('{') >= 0) {
- int firstIndex = placeholdersText.indexOf('{');
- int lastIndex = placeholdersText.indexOf('}');
- StringBuilder placeholder = new StringBuilder();
- for (int i = firstIndex + 1; i < lastIndex; i++) {
- placeholder.append(placeholdersText.charAt(i));
- }
- placeholders.add(placeholder.toString());
- placeholdersText = placeholdersText.substring(lastIndex + 1);
- }
- String regex = "(?<start>[A-Za-z]+)(?<placeholder>.+)(?<end>\\1)";
- Pattern pattern = Pattern.compile(regex);
- Matcher matcher = pattern.matcher(encodedText);
- while (matcher.find() && !placeholders.isEmpty()) {
- String placeholder = matcher.group("placeholder");
- int firstIndex = encodedText.indexOf(placeholder);
- String encodedStart = encodedText.substring(0, firstIndex);
- String encodedEnd = encodedText.substring(firstIndex + placeholder.length());
- encodedText = encodedStart
- + placeholders.get(0)
- + encodedEnd;
- //encodedText = encodedText.replaceFirst(placeholder, placeholders.get(0));
- placeholders.remove(0);
- }
- System.out.println(encodedText);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment