utils.StringUtilities Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of Utilities Show documentation
Show all versions of Utilities Show documentation
Java Utilities library containing general use utilities
package utils;
import org.apache.commons.lang3.RandomStringUtils;
import java.text.Normalizer;
import resources.Colors;
import java.util.*;
import static resources.Colors.*;
@SuppressWarnings("unused")
public class StringUtilities { //Utility methods
private final Printer log = new Printer(StringUtilities.class);
private final ObjectUtilities objectUtils = new ObjectUtilities();
public enum Color {
CYAN("CYAN_BOLD"),
RED("RED"),
GREEN("GREEN"),
YELLOW("YELLOW"),
PURPLE("PURPLE"),
GRAY("GRAY"),
BLUE("BLUE"),
BLACK("BLACK_BOLD"),
PALE("WHITE_BOLD");
final String value;
Color(String value){this.value = value;}
public String getValue() {return value;}
}
public String highlighted(Color color, Object text){return (objectUtils.getFieldValue(color.getValue(), Colors.class) + text.toString() + RESET);}
public String highlight(Color color, Object text){return (objectUtils.getFieldValue(color.getValue(), Colors.class) + text.toString() + GRAY);}
public String reverse(String input){
StringBuilder reversed = new StringBuilder();
for (int i = 0; i < input.length(); i++) {reversed.append(input.charAt(input.length() - i - 1));}
return reversed.toString();
}
public String firstLetterCapped(String inputString){ //Capitalizes the first letter of the input string
if (inputString!=null){
String firstLetter = inputString.substring(0, 1);
String remainingLetters = inputString.substring(1);
firstLetter = firstLetter.toUpperCase();
return firstLetter + remainingLetters;
}
else
return null;
}
public String firstLetterDeCapped(String inputString){ //Capitalizes the first letter of the input string
if (inputString!=null){
String firstLetter = inputString.substring(0, 1);
String remainingLetters = inputString.substring(1);
firstLetter = firstLetter.toLowerCase();
return firstLetter + remainingLetters;
}
else
return null;
}
public String cleanText(String inputString){ //Cleans the input string of spaces, numbers etc.
inputString = inputString
.replaceAll("\\s", "") //Cleans spaces
.replaceAll("[0-9]", "") //Cleans numbers
.replaceAll("[-+^.,'&%/()=\"?!:;_*]*", "") //Cleans special characters
.replaceAll("[^\\x00-\\x7F]", ""); //Cleans non english characters
if (inputString.isEmpty())
inputString = generateRandomString("element",4, true, false);
return inputString;
}
public String normalize(String inputString){ //Replaces non english characters in input string
return Normalizer
.normalize(inputString, Normalizer.Form.NFD)
.replaceAll("ç", "c")
.replaceAll("ğ", "g")
.replaceAll("ü", "u")
.replaceAll("ş", "s")
.replaceAll("ı", "i")
.replaceAll("[^\\p{ASCII}]", "");
}
public String shorten(String inputString, int length) { //Shortens string to the given length
return inputString.substring(0, Math.min(inputString.length(), length));
}
//Generates random string according to the input rules
public String generateRandomString(String keyword, int length, boolean useLetters, boolean useNumbers) {
return keyword + RandomStringUtils.random(length, useLetters, useNumbers);
}
public int measureDistanceBetween(String input, String firstKeyword, String lastKeyword){
// Remove any special chars from string
final String strOnlyWords = input.replace(",", "").replace(".", "");
final List words = Arrays.asList(strOnlyWords.split(" "));
final int index1 = words.indexOf(firstKeyword);
final int index2 = words.indexOf(lastKeyword);
int distance = -1;
// Check index of two words
if (index1 != -1 && index2 != - 1) {
distance = index2 - index1;
}
return distance;
}
public Map str2Map(String inputString){
Map outputMap = new HashMap<>();
inputString = inputString.replaceAll("[{}]*", "");
String[] pairs = inputString.split(",");
for(String pair: pairs) {
String[] keyValue = pair.split("=");
try{
if (keyValue[0] != null && keyValue[1] != null)
outputMap.put(keyValue[0].trim(), keyValue[1].trim());
else if (keyValue[0] == null)
throw new Exception( "First value of this pair was found to be null");
else throw new Exception( "Second value of this pair was found to be null");
}
catch (Exception gamma){log.new Error(GRAY+gamma.getMessage()+RESET,gamma);}
}
return outputMap;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy