Categories:
Audio (13)
Biotech (29)
Bytecode (36)
Database (77)
Framework (7)
Game (7)
General (507)
Graphics (53)
I/O (35)
IDE (2)
JAR Tools (101)
JavaBeans (21)
JDBC (121)
JDK (426)
JSP (20)
Logging (108)
Mail (58)
Messaging (8)
Network (84)
PDF (97)
Report (7)
Scripting (84)
Security (32)
Server (121)
Servlet (26)
SOAP (24)
Testing (54)
Web (15)
XML (309)
Collections:
Other Resources:
commons-lang-2.6.jar - Apache Commons Lang
commons-lang-2.6.jar is the JAR file for Apache Commons Lang 2.6, which provides a host of helper utilities for the java.lang API.
JAR File Size and Download Location:
File name: commons-lang-2.6.jar File size: 284220 bytes Date modified: 01/13/2011 Download: Apache Commons Lang Website
✍: FYIcenter
⏎ org/apache/commons/lang/CharSetUtils.java
/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.apache.commons.lang; import org.apache.commons.lang.text.StrBuilder; /** * <p>Operations on <code>CharSet</code>s.</p> * * <p>This class handles <code>null</code> input gracefully. * An exception will not be thrown for a <code>null</code> input. * Each method documents its behaviour in more detail.</p> * * <p>#ThreadSafe#</p> * @see CharSet * @author Apache Software Foundation * @author Phil Steitz * @author Gary Gregory * @since 1.0 * @version $Id: CharSetUtils.java 1057072 2011-01-10 01:55:57Z niallp $ */ public class CharSetUtils { /** * <p>CharSetUtils instances should NOT be constructed in standard programming. * Instead, the class should be used as <code>CharSetUtils.evaluateSet(null);</code>.</p> * * <p>This constructor is public to permit tools that require a JavaBean instance * to operate.</p> */ public CharSetUtils() { super(); } // Factory //----------------------------------------------------------------------- /** * <p>Creates a <code>CharSet</code> instance which allows a certain amount of * set logic to be performed.</p> * <p>The syntax is:</p> * <ul> * <li>"aeio" which implies 'a','e',..</li> * <li>"^e" implies not e.</li> * <li>"ej-m" implies e,j->m. e,j,k,l,m.</li> * </ul> * * <pre> * CharSetUtils.evaluateSet(null) = null * CharSetUtils.evaluateSet([]) = CharSet matching nothing * CharSetUtils.evaluateSet(["a-e"]) = CharSet matching a,b,c,d,e * </pre> * * @param set the set, may be null * @return a CharSet instance, <code>null</code> if null input * @deprecated Use {@link CharSet#getInstance(String[])}. * Method will be removed in Commons Lang 3.0. */ public static CharSet evaluateSet(String[] set) { if (set == null) { return null; } return new CharSet(set); } // Squeeze //----------------------------------------------------------------------- /** * <p>Squeezes any repetitions of a character that is mentioned in the * supplied set.</p> * * <pre> * CharSetUtils.squeeze(null, *) = null * CharSetUtils.squeeze("", *) = "" * CharSetUtils.squeeze(*, null) = * * CharSetUtils.squeeze(*, "") = * * CharSetUtils.squeeze("hello", "k-p") = "helo" * CharSetUtils.squeeze("hello", "a-e") = "hello" * </pre> * * @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 modified String, <code>null</code> if null string input */ public static String squeeze(String str, String set) { if (StringUtils.isEmpty(str) || StringUtils.isEmpty(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 modified String, <code>null</code> if null string input */ public static String squeeze(String str, String[] set) { if (StringUtils.isEmpty(str) || ArrayUtils.isEmpty(set)) { return str; } CharSet chars = CharSet.getInstance(set); StrBuilder buffer = new StrBuilder(str.length()); char[] chrs = str.toCharArray(); int sz = chrs.length; char lastChar = ' '; char ch = ' '; for (int i = 0; i < sz; i++) { ch = chrs[i]; if (chars.contains(ch)) { if ((ch == lastChar) && (i != 0)) { continue; } } buffer.append(ch); lastChar = ch; } return buffer.toString(); } // Count //----------------------------------------------------------------------- /** * <p>Takes an argument in set-syntax, see evaluateSet, * and returns the number of characters present in the specified string.</p> * * <pre> * CharSetUtils.count(null, *) = 0 * CharSetUtils.count("", *) = 0 * CharSetUtils.count(*, null) = 0 * CharSetUtils.count(*, "") = 0 * CharSetUtils.count("hello", "k-p") = 3 * CharSetUtils.count("hello", "a-e") = 1 * </pre> * * @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 * @return 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 * @return character count, zero if null string input */ public static int count(String str, String[] set) { if (StringUtils.isEmpty(str) || ArrayUtils.isEmpty(set)) { return 0; } CharSet chars = CharSet.getInstance(set); int count = 0; char[] chrs = str.toCharArray(); int sz = chrs.length; for(int i=0; i<sz; i++) { if(chars.contains(chrs[i])) { count++; } } return count; } // Keep //----------------------------------------------------------------------- /** * <p>Takes an argument in set-syntax, see evaluateSet, * and keeps any of characters present in the specified string.</p> * * <pre> * CharSetUtils.keep(null, *) = null * CharSetUtils.keep("", *) = "" * CharSetUtils.keep(*, null) = "" * CharSetUtils.keep(*, "") = "" * CharSetUtils.keep("hello", "hl") = "hll" * CharSetUtils.keep("hello", "le") = "ell" * </pre> * * @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 * @return modified String, <code>null</code> 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 * @return modified String, <code>null</code> if null string input * @since 2.0 */ public static String keep(String str, String[] set) { if (str == null) { return null; } if (str.length() == 0 || ArrayUtils.isEmpty(set)) { return ""; } return modify(str, set, true); } // Delete //----------------------------------------------------------------------- /** * <p>Takes an argument in set-syntax, see evaluateSet, * and deletes any of characters present in the specified string.</p> * * <pre> * CharSetUtils.delete(null, *) = null * CharSetUtils.delete("", *) = "" * CharSetUtils.delete(*, null) = * * CharSetUtils.delete(*, "") = * * CharSetUtils.delete("hello", "hl") = "eo" * CharSetUtils.delete("hello", "le") = "ho" * </pre> * * @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 * @return modified String, <code>null</code> 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 * @return modified String, <code>null</code> if null string input */ public static String delete(String str, String[] set) { if (StringUtils.isEmpty(str) || ArrayUtils.isEmpty(set)) { return str; } return modify(str, set, false); } //----------------------------------------------------------------------- /** * Implementation of delete and keep * * @param str String to modify characters within * @param set String[] set of characters to modify * @param expect whether to evaluate on match, or non-match * @return modified String */ private static String modify(String str, String[] set, boolean expect) { CharSet chars = CharSet.getInstance(set); StrBuilder buffer = new StrBuilder(str.length()); char[] chrs = str.toCharArray(); int sz = chrs.length; for(int i=0; i<sz; i++) { if(chars.contains(chrs[i]) == expect) { buffer.append(chrs[i]); } } return buffer.toString(); } // Translate //----------------------------------------------------------------------- /** * <p>Translate characters in a String. * This is a multi character search and replace routine.</p> * * <p>An example is:</p> * <ul> * <li>translate("hello", "ho", "jy") * => jelly</li> * </ul> * * <p>If the length of characters to search for is greater than the * length of characters to replace, then the last character is * used.</p> * * <pre> * CharSetUtils.translate(null, *, *) = null * CharSetUtils.translate("", *, *) = "" * </pre> * * @param str String to replace characters in, may be null * @param searchChars a set of characters to search for, must not be null * @param replaceChars a set of characters to replace, must not be null or empty ("") * @return translated String, <code>null</code> if null string input * @throws NullPointerException if <code>searchChars</code> or <code>replaceChars</code> * is <code>null</code> * @throws ArrayIndexOutOfBoundsException if <code>replaceChars</code> is empty ("") * @deprecated Use {@link StringUtils#replaceChars(String, String, String)}. * Method will be removed in Commons Lang 3.0. * NOTE: StringUtils#replaceChars behaves differently when 'searchChars' is longer * than 'replaceChars'. CharSetUtils#translate will use the last char of the replacement * string whereas StringUtils#replaceChars will delete */ public static String translate(String str, String searchChars, String replaceChars) { if (StringUtils.isEmpty(str)) { return str; } StrBuilder buffer = new StrBuilder(str.length()); char[] chrs = str.toCharArray(); char[] withChrs = replaceChars.toCharArray(); int sz = chrs.length; int withMax = replaceChars.length() - 1; for(int i=0; i<sz; i++) { int idx = searchChars.indexOf(chrs[i]); if(idx != -1) { if(idx > withMax) { idx = withMax; } buffer.append(withChrs[idx]); } else { buffer.append(chrs[i]); } } return buffer.toString(); } }
⏎ org/apache/commons/lang/CharSetUtils.java
⇒ commons-lang-1.0.1.jar - Apache Commons Lang
⇐ What Is commons-lang3-3.1.jar
2009-12-24, 80074👍, 0💬
Popular Posts:
What Is ojdbc7.jar for Oracle 12c R1? ojdbc7.jar for Oracle 12c R1 is the JAR files of ojdbc.jar, JD...
JDK 11 java.naming.jmod is the JMOD file for JDK 11 Naming module. JDK 11 Naming module compiled cla...
How to download and install ojdbc11.jar for Oracle 21c? ojdbc11.jar for Oracle 21c is a Java JDBC Dr...
What Is activation.jar? I heard it's related to JAF (JavaBeans Activation Framework) 1.1? The if you...
JDK 11 jdk.charsets.jmod is the JMOD file for JDK 11 Charsets module. JDK 11 Charsets module compile...