Advertisement
CR7CR7

textManipulation

Apr 10th, 2023
672
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.87 KB | None | 0 0
  1. import java.util.Scanner;
  2. public class TextManipulation {
  3.  
  4.     public static void main(String[] args) {
  5.         Scanner scanner = new Scanner(System.in);
  6.         StringBuilder text = new StringBuilder();
  7.         String command = scanner.nextLine();
  8.         while (!command.equals("End")) {
  9.             String[] tokens = command.split("\\s+"); // split the command by whitespace
  10.             switch (tokens[0]) { // check the first word of the command
  11.                 case "Add": // if it is "Add"
  12.                     text.append(tokens[1]); // append the given substring at the end of the string
  13.                     break;
  14.                 case "Upgrade": // if it is "Upgrade"
  15.                     char oldChar = tokens[1].charAt(0); // get the given char
  16.                     char newChar = (char) (oldChar + 1); // get the next char in the ASCII table
  17.                     for (int i = 0; i < text.length(); i++) { // loop through the string
  18.                         if (text.charAt(i) == oldChar) { // if the current char matches the given char
  19.                             text.setCharAt(i, newChar); // replace it with the next char
  20.                         }
  21.                     }
  22.                     break;
  23.                 case "Print": // if it is "Print"
  24.                     System.out.println(text); // print the string
  25.                     break;
  26.                 case "Index": // if it is "Index"
  27.                     char target = tokens[1].charAt(0); // get the given char
  28.                     boolean found = false; // flag to indicate if any occurences are found
  29.                     for (int i = 0; i < text.length(); i++) { // loop through the string
  30.                         if (text.charAt(i) == target) { // if the current char matches the given char
  31.                             System.out.print(i + " "); // print its index and a space
  32.                             found = true; // set the flag to true
  33.                         }
  34.                     }
  35.                     if (!found) { // if no occurences are found
  36.                         System.out.print("None"); // print "None"
  37.                     }
  38.                     System.out.println(); // print a new line
  39.                     break;
  40.                 case "Remove": // if it is "Remove"
  41.                     String substring = tokens[1]; // get the given substring
  42.                     int index = text.indexOf(substring); // find the first index of the substring in the string
  43.                     while (index != -1) { // while there is a match
  44.                         text.delete(index, index + substring.length()); // delete the substring from the string
  45.                         index = text.indexOf(substring); // find the next index of the substring in the string
  46.                     }
  47.                     break;
  48.             }
  49.             command = scanner.nextLine(); // read the next command
  50.         }
  51.     }
  52. }
  53.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement