String-2

public String doubleChar(String str) {
      String str1 = "";
      for (int i = 0; i < str.length(); i++) {
          str1 = str1 + str.charAt(i) + str.charAt(i);
      }
      return str1;
  }
public int countHi(String str) {
       int count = 0;
       for (int i = 0; i < str.length() - 1; i++) {
           if (str.substring(i, i + 2).equals("hi")) {
               count++;
           }
       }
       return count;
   }
public boolean catDog(String str) {
       int catCount = 0;
       int dogCount = 0;
       for (int i = 0; i < str.length() - 2; i++) {
           if (str.substring(i, i + 3).equals("cat")) {
               catCount++;
           }
           if (str.substring(i, i + 3).equals("dog")) {
               dogCount++;
           }
       }
       return catCount == dogCount;
   }
public int countCode(String str) {
        int count = 0;
        for (int i = 0; i < str.length() - 3; i++) {
            if (str.substring(i, i + 2).equals("co") && str.substring(i + 3, i + 4).equals("e")) {
                count++;
            }
        }
        return count;
    }
public boolean endOther(String a, String b) {
       a = a.toLowerCase();
       b = b.toLowerCase();
       if (a.length() <= b.length()) {
           if (b.substring(b.length() - a.length(), b.length()).equals(a)) {
               return true;
           }
       }
       if (a.length() >= b.length()) {
           if (a.substring(a.length() - b.length(), a.length()).equals(b)) {
               return true;
           }
       }
       return false;
   }
public boolean xyzThere(String str) {
       for(int i = 0; i<str.length()-2; i++ ){
           if(i==0 && str.substring(i, i+3).equals("xyz")){
               return true;
           }
           if(i > 1 && str.substring(i, i+3).equals("xyz") && str.charAt(i-1) !='.'){
               return true;
           }
       }
       return false;
   }
public boolean bobThere(String str) {
      for(int i = 0; i<str.length()-2; i++){
          if(str.charAt(i) == 'b' && str.charAt(i+2) == 'b'){
              return true;
          }
      }
      return false;
  }
public boolean xyBalance(String str) {
      if ((str.lastIndexOf("y") > str.lastIndexOf("x"))) {
          return true;
      }
      if (str.indexOf("x") == str.indexOf("y")) {
          return true;
      }
      return false;
  }
public String mixString(String a, String b) {
     String result = "";
     int shorterAb = Math.min(a.length(), b.length());
     for (int i = 0; i < shorterAb; i++) {
         result = result + a.charAt(i) + b.charAt(i);
     }
     if (a.length() >= b.length()) {
         return result + a.substring(b.length(), a.length());
     }
     if (a.length() <= b.length()) {
         return result + b.substring(a.length(), b.length());
     }
     return result;
 }
public String repeatEnd(String str, int n) {
    String result = "";
    for (int i = 0; i < n; i++) {
        result = result + str.substring(str.length() - n, str.length());
    }
    return result;
}
public String repeatFront(String str, int n) {
       String result = "";
       for (int i = 0; i < n; i++) {
           result = result + str.substring(0, n - i);
       }
       return result;
   }
public String repeatSeparator(String word, String sep, int count) {
       String result = "";
       for(int i = 0; i<count; i++){
           if(count == 1){
               return word;
           }
           result = result + word+sep;
       }
       return result.substring(0, result.length()-sep.length());
   }
public boolean prefixAgain(String str, int n) {
        String prefix = str.substring(0, n);
        for (int i = 0; i < str.length() - n + 1; i++) {
            if (i >= n && prefix.equals(str.substring(i, i + n))) {
                return true;
            }
        }
        return false;
    }
public boolean xyzMiddle(String str) {
       int front = 0;
       int end = 0;
       int res = 0;
       for (int i = 0; i < str.length() - 2; i++) {
           if (str.length() >= 3 && str.substring(i, i + 3).equals("xyz")) {
               front = str.substring(0, i).length();
               end = str.substring(i + 3, str.length()).length();
               res = front - end;
               if (Math.abs(res) <= 1) {
                   return true;
               }
           }
       }
       return false;
   }
public String getSandwich(String str) {
       for (int i = 0; i<str.length()-4; i++){
           if(str.length()>=5 && str.substring(i, i+5).equals("bread")){
               if(str.lastIndexOf("bread") != -1 &&  i+5 < str.lastIndexOf("bread")){
                   return str.substring(i+5, str.lastIndexOf("bread") );
               }
           }
       }
       return "";
   }
public boolean sameStarChar(String str) {
        int countTrue = 0;
        int countStar = 0;
        for (int i = 1; i < str.length() - 1; i++) {
            if (str.charAt(i) == '*' && str.charAt(i - 1) == str.charAt(i + 1)) {
                countTrue++;
            }
            if (str.charAt(i) == '*') {
                countStar++;
            }
        }
        return countStar == countTrue;
    }
public String oneTwo(String str) {
       String res = "";
       for (int i = 0; i < str.length() - 2; i++) {
           if (i % 3 == 0) {
               res = res + str.substring(i + 1, i + 3) + str.charAt(i);
           }
       }
       return res;
   }
public String zipZap(String str) {
        String result = "";
        if (str.length() >= 3) {
            for (int i = 0; i < str.length() - 2; i++) {
                result = result + str.charAt(i);
                if (str.charAt(i) == 'z' && str.charAt(i + 2) == 'p') {
                    result = result + "p";
                    i += 2;
                }
            }
            if (result.equals(str.substring(0, str.length() - 2))) {
                return str;
            }
            return result;
        }
        return str;
    }
public String starOut(String str) {
       String result = "";
       result = str.replaceAll(".\\\\*+.", "");
       result = result.replaceAll(".\\\\*", "");
       result = result.replaceAll("\\\\*.", "");
       result = result.replaceAll("\\\\*", "");
       return result;
   }
public String plusOut(String str, String word) {
       String res = "";
       int wordLen = word.length();
       if (str.indexOf(word) != -1) {
           for (int i = 0; i < str.length() - wordLen + 1; i++) {
               if (!str.substring(i, i + wordLen).equals(word)) {
                   res += "+";
               }
               if (str.substring(i, i + wordLen).equals(word)) {
                   res = res.substring(0, res.length()) + word;
                   if (str.substring(i + wordLen, str.length()).indexOf(word) != -1) {
                       i += wordLen - 1;
                   }
               }
           }
           return res;
       }
       return str;
   }
public String wordEnds(String str, String word) {
       String res = "";
       if (str.equals(word + word)) {
           return "" + str.charAt(0) + str.charAt(str.length() - 1);
       }
       if (str.indexOf(word) != -1 && str.length() > word.length()) {
           for (int i = 0; i < str.length() - word.length() + 1; i++) {
               if (i == 0) {
                   if (str.substring(i, word.length()).equals(word)) {
                       if (!str.substring(i + word.length(), i + (2 * word.length())).equals(word)) {
                           res += str.charAt(i + word.length());
                       }
                   }
               }
               if (i > 0) {
                   if (str.substring(i, i + word.length()).equals(word)) {
                       res = res.substring(0, res.length()) + str.charAt(i - 1);
                       if (str.length() > i + word.length()) {
                           res = res.substring(0, res.length()) + str.charAt(i + word.length());
                       }
                   }
               }
           }
           return res;
       }
       return "";
   }

Last updated