|
From: <pat...@us...> - 2010-08-05 18:59:14
|
Revision: 1112
http://cishell.svn.sourceforge.net/cishell/?rev=1112&view=rev
Author: pataphil
Date: 2010-08-05 18:59:05 +0000 (Thu, 05 Aug 2010)
Log Message:
-----------
Fixed StringUtilities.getAllTokens().
Modified Paths:
--------------
trunk/core/org.cishell.utilities/src/org/cishell/utilities/StringUtilities.java
Modified: trunk/core/org.cishell.utilities/src/org/cishell/utilities/StringUtilities.java
===================================================================
--- trunk/core/org.cishell.utilities/src/org/cishell/utilities/StringUtilities.java 2010-08-05 16:20:09 UTC (rev 1111)
+++ trunk/core/org.cishell.utilities/src/org/cishell/utilities/StringUtilities.java 2010-08-05 18:59:05 UTC (rev 1112)
@@ -1,12 +1,16 @@
package org.cishell.utilities;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.Collection;
import java.util.Iterator;
import java.util.List;
import java.util.StringTokenizer;
+import java.util.regex.Pattern;
public class StringUtilities {
+ public static Pattern NON_ALPHA_NUMERIC_CHARACTER_ESCAPE = Pattern.compile("([^a-zA-z0-9])");
+
// TODO: Make this wrap implodeItems.
public static String implodeStringArray(String[] stringArray, String separator) {
final int stringArrayLength = stringArray.length;
@@ -318,7 +322,8 @@
public static String[] getAllTokens(
String originalString, String separator, boolean trim) {
- String[] tokens = originalString.split(separator);
+ String escapedSeparator = escapeForRegularExpression(separator);
+ String[] tokens = originalString.split(escapedSeparator);
if (trim) {
String[] trimmedTokens = new String[tokens.length];
@@ -358,6 +363,10 @@
}
}
+ public static String escapeForRegularExpression(String original) {
+ return NON_ALPHA_NUMERIC_CHARACTER_ESCAPE.matcher(original).replaceAll("\\\\$1");
+ }
+
// TODO
// public static String escape(String unescaped) {
// return unescaped.replaceAll("\"", "\\\""
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|