svn commit: r424482 - /incubator/ofbiz/trunk/framework/base/src/base/org/ofbiz/base/util/StringUtil.java

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

svn commit: r424482 - /incubator/ofbiz/trunk/framework/base/src/base/org/ofbiz/base/util/StringUtil.java

sichen
Author: sichen
Date: Fri Jul 21 15:33:45 2006
New Revision: 424482

URL: http://svn.apache.org/viewvc?rev=424482&view=rev
Log:
New remove Regex from string methods in StringUtil, with reimplementation of the removeNonNumeric and removeNumeric.  From Andrew Sykes.  OFBIZ-73

Modified:
    incubator/ofbiz/trunk/framework/base/src/base/org/ofbiz/base/util/StringUtil.java

Modified: incubator/ofbiz/trunk/framework/base/src/base/org/ofbiz/base/util/StringUtil.java
URL: http://svn.apache.org/viewvc/incubator/ofbiz/trunk/framework/base/src/base/org/ofbiz/base/util/StringUtil.java?rev=424482&r1=424481&r2=424482&view=diff
==============================================================================
--- incubator/ofbiz/trunk/framework/base/src/base/org/ofbiz/base/util/StringUtil.java (original)
+++ incubator/ofbiz/trunk/framework/base/src/base/org/ofbiz/base/util/StringUtil.java Fri Jul 21 15:33:45 2006
@@ -25,6 +25,8 @@
 import java.util.Map;
 import java.util.Set;
 import java.util.StringTokenizer;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
 
 /**
  * Misc String Utility Functions
@@ -260,15 +262,10 @@
     
     /** Removes all spaces from a string */
     public static String removeSpaces(String str) {
-        StringBuffer newString = new StringBuffer();
-        for (int i = 0; i < str.length(); i++) {
-            if (str.charAt(i) != ' ')
-                newString.append(str.charAt(i));
-        }
-        return newString.toString();        
+     return removeRegex(str,"[\\d]");
     }
 
-    public static String toHexString(byte[] bytes) {
+ public static String toHexString(byte[] bytes) {
         StringBuffer buf = new StringBuffer(bytes.length * 2);
         for (int i = 0; i < bytes.length; i++) {
             buf.append(hexChar[(bytes[i] & 0xf0) >>> 4]);
@@ -328,4 +325,25 @@
         } while (i != 0);
         return digestChars;
     }
+
+ /** Removes all non-numbers from str */
+ public static String removeNonNumeric(String str) {
+ return removeRegex(str,"[\\D]");
+ }
+    
+ /** Removes all numbers from str */
+ public static String removeNumeric(String str) {
+ return removeRegex(str,"[\\d]");
+ }
+
+    /**
+ * @param str
+ * @param regex
+ * Removes all matches of regex from a str
+ */
+ private static String removeRegex(String str, String regex) {
+ Pattern pattern = Pattern.compile(regex);
+     Matcher matcher = pattern.matcher(str);
+ return matcher.replaceAll("");
+ }
 }