title: StringBuilder insert method
body: <p>I'm attempting to insert a character to the beginning of each substring Instead of inserting at position 0 of the substring, the method is inserting the character(s) to the beginning of the entire string. For example: </p>
  
  <pre><code>Input: esttar apple%hc orange%hc annanabar eachpar
  Expected output: test apple orange banana peach
  Actual output: pbtest apple orange anana each
  </code></pre>
  
  <p>Everything works as intended besides the StringBuilder insert method. My code is below. Many thanks ahead of time.</p>
  
  <pre><code>    private String decryptText(String encrypted, String cipher){
      StringBuilder stringBuilder = new StringBuilder(); //for manipulating the substrings
      StringBuilder builder2 = new StringBuilder(); //StringBuilder object for returning and accumulating instances of decrypted
      String decryptedSS = "";
  
      cipher = cipher.replaceAll("-", ""); //replaces all the hyphens
      char[] cipherKey = cipher.toCharArray(); //converts the cipherKey to a character array
      char y1 = cipherKey[2];
  
  
      String[] strArr = encrypted.split(" "); //splits the string into an array
  
      for(String subStr : strArr){ //for each substring in the string array
  
          stringBuilder.append(subStr); //copies the substring into a String Builder object
  
          stringBuilder = stringBuilder.deleteCharAt(stringBuilder.length()-1); //deletes the last character
          stringBuilder = stringBuilder.deleteCharAt(stringBuilder.length()-1); //deletes the last character
  
          char first = stringBuilder.charAt(stringBuilder.length()-1); //copies the last character for prepending to the word if the word started with a consonant
  
  
          if(stringBuilder.charAt(stringBuilder.length()-1) == y1){ //if the last character is equal to y1
              stringBuilder.deleteCharAt(stringBuilder.length()-1); //delete it
  
          }
          else{ //******The problem resides in this else statement
              stringBuilder.deleteCharAt(stringBuilder.length()-1); //delete the last character
              stringBuilder.insert(0, first); //insert the copied character at the beginning of the substring
          }
  
          stringBuilder.append(" "); //appends a space to each word
          decryptedSS = stringBuilder.toString(); //converts the StringBuilder object to a string
      }
  
      builder2.append(decryptedSS); //appends the decrypted substring to the StringBuilder object to concatenate the string
  
      String decrypted = builder2.toString(); //converts the StringBuilder object to a string
  
      return decrypted; //returns the decrypted string
  }
  </code></pre>