bayard 2002/09/26 23:08:17 Modified: lang/src/test/org/apache/commons/lang StringUtilsTrimEmptyTest.java lang/src/java/org/apache/commons/lang StringUtils.java Log: Changed the deleteWhitespace method to delete according to Character.isWhitespce Renamed the existing deleteWhitespace functionality to deleteSpaces. This is in accordance with Character.isSpace. Submitted by: Steve Downey's idea Revision Changes Path 1.5 +17 -4 jakarta-commons/lang/src/test/org/apache/commons/lang/StringUtilsTrimEmptyTest.java Index: StringUtilsTrimEmptyTest.java =================================================================== RCS file: /home/cvs/jakarta-commons/lang/src/test/org/apache/commons/lang/StringUtilsTrimEmptyTest.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- StringUtilsTrimEmptyTest.java 21 Jul 2002 20:19:50 -0000 1.4 +++ StringUtilsTrimEmptyTest.java 27 Sep 2002 06:08:16 -0000 1.5 @@ -122,13 +122,26 @@ assertEquals(true, StringUtils.isEmpty(null)); } - public void testDeleteWhitespace() { + public void testDeleteSpace() { assertEquals("deleteWhitespace(String) failed", "", StringUtils.deleteWhitespace("")); assertEquals("deleteWhitespace(String) failed", - "", StringUtils.deleteWhitespace(" \t\t\n\n ")); + "", StringUtils.deleteWhitespace(" \u000C \t\t\u001F\n\n \u000B ")); + // Note: u-2007 and u-000A both cause problems in the source code + // it should ignore 2007 but delete 000A assertEquals("deleteWhitespace(String) failed", - "test", StringUtils.deleteWhitespace("t \t\ne\rs\n\n \tt")); + "\u00A0\u202F", StringUtils.deleteWhitespace(" \u00A0 \t\t\n\n \u202F ")); + assertEquals("deleteWhitespace(String) failed", + "\u00A0\u202F", StringUtils.deleteWhitespace("\u00A0\u202F")); + assertEquals("deleteWhitespace(String) failed", + "test", StringUtils.deleteWhitespace("\u000Bt \t\n\u0009e\rs\n\n \tt")); + + assertEquals("deleteSpaces(String) failed", + "", StringUtils.deleteSpaces("")); + assertEquals("deleteSpaces(String) failed", + "", StringUtils.deleteSpaces(" \t\t\n\n ")); + assertEquals("deleteSpaces(String) failed", + "test", StringUtils.deleteSpaces("t \t\ne\rs\n\n \tt")); } public void testStrip() { 1.15 +23 -3 jakarta-commons/lang/src/java/org/apache/commons/lang/StringUtils.java Index: StringUtils.java =================================================================== RCS file: /home/cvs/jakarta-commons/lang/src/java/org/apache/commons/lang/StringUtils.java,v retrieving revision 1.14 retrieving revision 1.15 diff -u -r1.14 -r1.15 --- StringUtils.java 27 Sep 2002 05:53:37 -0000 1.14 +++ StringUtils.java 27 Sep 2002 06:08:16 -0000 1.15 @@ -119,15 +119,35 @@ } /** + * Deletes all 'space' characters from a String. + * Spaces are defined as {' ', '\t', '\r', '\n', '\b'} + * in line with the deprecated Character.isSpace + * + * @param str String target to delete spaces from + * @return the text without spaces + * @throws NullPointerException + */ + public static String deleteSpaces(String str) { + return CharSetUtils.delete(str, " \t\r\n\b"); + } + + /** * Deletes all whitespace from a String. - * Whitespace is defined as {' ', '\t', '\r', '\n', '\b'} + * Whitespace is defined by Character.isWhitespace * * @param str String target to delete whitespace from * @return the text without whitespace * @throws NullPointerException */ public static String deleteWhitespace(String str) { - return CharSetUtils.delete(str, " \t\r\n\b"); + StringBuffer buffer = new StringBuffer(); + int sz = str.length(); + for (int i=0; i<sz; i++) { + if(!Character.isWhitespace(str.charAt(i))) { + buffer.append(str.charAt(i)); + } + } + return buffer.toString(); } /**
-- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>