120 lines
2.7 KiB
Java
120 lines
2.7 KiB
Java
/**
|
|
*
|
|
*/
|
|
|
|
package org.gcube.portlets.user.workspace.server.util;
|
|
|
|
import java.io.UnsupportedEncodingException;
|
|
|
|
import org.apache.commons.codec.binary.Base64;
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.LoggerFactory;
|
|
|
|
/**
|
|
* The Class StringUtil.
|
|
*
|
|
* @author Francesco Mangiacrapa francesco.mangiacrapa{@literal @}isti.cnr.it
|
|
* Jul 9, 2013
|
|
*/
|
|
public class StringUtil {
|
|
|
|
/** The Constant UTF_8. */
|
|
public static final String UTF_8 = "UTF-8";
|
|
public static String regx = ",@+^'?!\"%&$£/#()";
|
|
protected static Logger logger = LoggerFactory.getLogger(StringUtil.class);
|
|
|
|
/**
|
|
* Removes the special characters.
|
|
*
|
|
* @param input
|
|
* the input
|
|
* @return the string
|
|
*/
|
|
public static String removeSpecialCharacters(String input) {
|
|
|
|
char[] ca = regx.toCharArray();
|
|
for (char c : ca) {
|
|
input = input.replace("" + c, "");
|
|
}
|
|
return input;
|
|
}
|
|
|
|
/**
|
|
* Replace all white space.
|
|
*
|
|
* @param input
|
|
* the input
|
|
* @param replacement
|
|
* the replacement
|
|
* @return the string
|
|
*/
|
|
public static String replaceAllWhiteSpace(String input, String replacement) {
|
|
|
|
return input.replaceAll("\\s", replacement);
|
|
}
|
|
|
|
|
|
/**
|
|
* Base64 decode string.
|
|
*
|
|
* @param s the s
|
|
* @return the string
|
|
*/
|
|
public static String base64DecodeString(String s) {
|
|
|
|
try {
|
|
return new String(Base64.decodeBase64(s.getBytes(UTF_8)));
|
|
}
|
|
catch (UnsupportedEncodingException e) {
|
|
logger.error("Failed to decode the String", e);
|
|
logger.error("Returning input string: " + s);
|
|
return s;
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Base64 encode string url safe.
|
|
*
|
|
* @param s the s
|
|
* @return the string
|
|
*/
|
|
public static String base64EncodeStringURLSafe(String s) {
|
|
|
|
try {
|
|
return Base64.encodeBase64URLSafeString(s.getBytes(UTF_8));
|
|
}
|
|
catch (UnsupportedEncodingException e) {
|
|
logger.error("Failed to decode the String", e);
|
|
logger.error("Returning input string: " + s);
|
|
return s;
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Base64 encode string.
|
|
*
|
|
* @param s the s
|
|
* @return the string
|
|
*/
|
|
public static String base64EncodeString(String s) {
|
|
|
|
try {
|
|
return new String(Base64.encodeBase64(s.getBytes(UTF_8)));
|
|
}
|
|
catch (UnsupportedEncodingException e) {
|
|
logger.error("Failed to encode the String", e);
|
|
logger.error("Returning input string: " + s);
|
|
return s;
|
|
}
|
|
}
|
|
/*
|
|
* public static void main(String[] args) { String input =
|
|
* "Just to clarify, Iì13ì? will have strings of varying " +
|
|
* "lengths. I want to strip characters from it, the exact " +
|
|
* "ones to be determined at !\"%&$£/ runtime, and return the " +
|
|
* "resulting string..."; input = removeSpecialCharacters(input);
|
|
* System.out.println(input); System.out.println(replaceAllWhiteSpace(input,
|
|
* "_")); }
|
|
*/
|
|
}
|