merge CharSetUtils String[] and String method forms to String...
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/lang/trunk@1088340 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
125aa57018
commit
f10738fcb5
|
@ -64,31 +64,8 @@ public class CharSetUtils {
|
||||||
* @param set the character set to use for manipulation, may be null
|
* @param set the character set to use for manipulation, may be null
|
||||||
* @return the modified String, {@code null} if null string input
|
* @return the modified String, {@code null} if null string input
|
||||||
*/
|
*/
|
||||||
public static String squeeze(String str, String set) {
|
public static String squeeze(String str, String... set) {
|
||||||
if (StringUtils.isEmpty(str) || StringUtils.isEmpty(set)) {
|
if (StringUtils.isEmpty(str) || deepEmpty(set)) {
|
||||||
return str;
|
|
||||||
}
|
|
||||||
String[] strs = new String[1];
|
|
||||||
strs[0] = set;
|
|
||||||
return squeeze(str, strs);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* <p>Squeezes any repetitions of a character that is mentioned in the
|
|
||||||
* supplied set.</p>
|
|
||||||
*
|
|
||||||
* <p>An example is:</p>
|
|
||||||
* <ul>
|
|
||||||
* <li>squeeze("hello", {"el"}) => "helo"</li>
|
|
||||||
* </ul>
|
|
||||||
*
|
|
||||||
* @see CharSet#getInstance(java.lang.String) for set-syntax.
|
|
||||||
* @param str the string to squeeze, may be null
|
|
||||||
* @param set the character set to use for manipulation, may be null
|
|
||||||
* @return the modified String, {@code null} if null string input
|
|
||||||
*/
|
|
||||||
public static String squeeze(String str, String[] set) {
|
|
||||||
if (StringUtils.isEmpty(str) || ArrayUtils.isEmpty(set)) {
|
|
||||||
return str;
|
return str;
|
||||||
}
|
}
|
||||||
CharSet chars = CharSet.getInstance(set);
|
CharSet chars = CharSet.getInstance(set);
|
||||||
|
@ -127,42 +104,17 @@ public class CharSetUtils {
|
||||||
*
|
*
|
||||||
* @see CharSet#getInstance(java.lang.String) for set-syntax.
|
* @see CharSet#getInstance(java.lang.String) for set-syntax.
|
||||||
* @param str String to count characters in, may be null
|
* @param str String to count characters in, may be null
|
||||||
* @param set String set of characters to count, may be null
|
|
||||||
* @return the character count, zero if null string input
|
|
||||||
*/
|
|
||||||
public static int count(String str, String set) {
|
|
||||||
if (StringUtils.isEmpty(str) || StringUtils.isEmpty(set)) {
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
String[] strs = new String[1];
|
|
||||||
strs[0] = set;
|
|
||||||
return count(str, strs);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* <p>Takes an argument in set-syntax, see evaluateSet,
|
|
||||||
* and returns the number of characters present in the specified string.</p>
|
|
||||||
*
|
|
||||||
* <p>An example would be:</p>
|
|
||||||
* <ul>
|
|
||||||
* <li>count("hello", {"c-f", "o"}) returns 2.</li>
|
|
||||||
* </ul>
|
|
||||||
*
|
|
||||||
* @see CharSet#getInstance(java.lang.String) for set-syntax.
|
|
||||||
* @param str String to count characters in, may be null
|
|
||||||
* @param set String[] set of characters to count, may be null
|
* @param set String[] set of characters to count, may be null
|
||||||
* @return the character count, zero if null string input
|
* @return the character count, zero if null string input
|
||||||
*/
|
*/
|
||||||
public static int count(String str, String[] set) {
|
public static int count(String str, String... set) {
|
||||||
if (StringUtils.isEmpty(str) || ArrayUtils.isEmpty(set)) {
|
if (StringUtils.isEmpty(str) || deepEmpty(set)) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
CharSet chars = CharSet.getInstance(set);
|
CharSet chars = CharSet.getInstance(set);
|
||||||
int count = 0;
|
int count = 0;
|
||||||
char[] chrs = str.toCharArray();
|
for (char c : str.toCharArray()) {
|
||||||
int sz = chrs.length;
|
if (chars.contains(c)) {
|
||||||
for(int i=0; i<sz; i++) {
|
|
||||||
if(chars.contains(chrs[i])) {
|
|
||||||
count++;
|
count++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -186,43 +138,15 @@ public class CharSetUtils {
|
||||||
*
|
*
|
||||||
* @see CharSet#getInstance(java.lang.String) for set-syntax.
|
* @see CharSet#getInstance(java.lang.String) for set-syntax.
|
||||||
* @param str String to keep characters from, may be null
|
* @param str String to keep characters from, may be null
|
||||||
* @param set String set of characters to keep, may be null
|
|
||||||
* @return the modified String, {@code null} if null string input
|
|
||||||
* @since 2.0
|
|
||||||
*/
|
|
||||||
public static String keep(String str, String set) {
|
|
||||||
if (str == null) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
if (str.length() == 0 || StringUtils.isEmpty(set)) {
|
|
||||||
return "";
|
|
||||||
}
|
|
||||||
String[] strs = new String[1];
|
|
||||||
strs[0] = set;
|
|
||||||
return keep(str, strs);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* <p>Takes an argument in set-syntax, see evaluateSet,
|
|
||||||
* and keeps any of characters present in the specified string.</p>
|
|
||||||
*
|
|
||||||
* <p>An example would be:</p>
|
|
||||||
* <ul>
|
|
||||||
* <li>keep("hello", {"c-f", "o"})
|
|
||||||
* returns "eo"</li>
|
|
||||||
* </ul>
|
|
||||||
*
|
|
||||||
* @see CharSet#getInstance(java.lang.String) for set-syntax.
|
|
||||||
* @param str String to keep characters from, may be null
|
|
||||||
* @param set String[] set of characters to keep, may be null
|
* @param set String[] set of characters to keep, may be null
|
||||||
* @return the modified String, {@code null} if null string input
|
* @return the modified String, {@code null} if null string input
|
||||||
* @since 2.0
|
* @since 2.0
|
||||||
*/
|
*/
|
||||||
public static String keep(String str, String[] set) {
|
public static String keep(String str, String... set) {
|
||||||
if (str == null) {
|
if (str == null) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
if (str.length() == 0 || ArrayUtils.isEmpty(set)) {
|
if (str.length() == 0 || deepEmpty(set)) {
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
return modify(str, set, true);
|
return modify(str, set, true);
|
||||||
|
@ -245,35 +169,11 @@ public class CharSetUtils {
|
||||||
*
|
*
|
||||||
* @see CharSet#getInstance(java.lang.String) for set-syntax.
|
* @see CharSet#getInstance(java.lang.String) for set-syntax.
|
||||||
* @param str String to delete characters from, may be null
|
* @param str String to delete characters from, may be null
|
||||||
* @param set String set of characters to delete, may be null
|
|
||||||
* @return the modified String, {@code null} if null string input
|
|
||||||
*/
|
|
||||||
public static String delete(String str, String set) {
|
|
||||||
if (StringUtils.isEmpty(str) || StringUtils.isEmpty(set)) {
|
|
||||||
return str;
|
|
||||||
}
|
|
||||||
String[] strs = new String[1];
|
|
||||||
strs[0] = set;
|
|
||||||
return delete(str, strs);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* <p>Takes an argument in set-syntax, see evaluateSet,
|
|
||||||
* and deletes any of characters present in the specified string.</p>
|
|
||||||
*
|
|
||||||
* <p>An example would be:</p>
|
|
||||||
* <ul>
|
|
||||||
* <li>delete("hello", {"c-f", "o"}) returns
|
|
||||||
* "hll"</li>
|
|
||||||
* </ul>
|
|
||||||
*
|
|
||||||
* @see CharSet#getInstance(java.lang.String) for set-syntax.
|
|
||||||
* @param str String to delete characters from, may be null
|
|
||||||
* @param set String[] set of characters to delete, may be null
|
* @param set String[] set of characters to delete, may be null
|
||||||
* @return the modified String, {@code null} if null string input
|
* @return the modified String, {@code null} if null string input
|
||||||
*/
|
*/
|
||||||
public static String delete(String str, String[] set) {
|
public static String delete(String str, String... set) {
|
||||||
if (StringUtils.isEmpty(str) || ArrayUtils.isEmpty(set)) {
|
if (StringUtils.isEmpty(str) || deepEmpty(set)) {
|
||||||
return str;
|
return str;
|
||||||
}
|
}
|
||||||
return modify(str, set, false);
|
return modify(str, set, false);
|
||||||
|
@ -301,4 +201,14 @@ public class CharSetUtils {
|
||||||
return buffer.toString();
|
return buffer.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static boolean deepEmpty(String[] strings) {
|
||||||
|
if (strings != null) {
|
||||||
|
for (String s : strings) {
|
||||||
|
if (StringUtils.isNotEmpty(s)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue