You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by sc...@apache.org on 2003/11/01 20:20:35 UTC
cvs commit: jakarta-commons/lang/src/java/org/apache/commons/lang StringUtils.java
scolebourne 2003/11/01 11:20:35
Modified: lang/src/test/org/apache/commons/lang StringUtilsTest.java
lang/src/java/org/apache/commons/lang StringUtils.java
Log:
Move remove code to relevant position in source file
Revision Changes Path
1.55 +3 -1 jakarta-commons/lang/src/test/org/apache/commons/lang/StringUtilsTest.java
Index: StringUtilsTest.java
===================================================================
RCS file: /home/cvs/jakarta-commons/lang/src/test/org/apache/commons/lang/StringUtilsTest.java,v
retrieving revision 1.54
retrieving revision 1.55
diff -u -r1.54 -r1.55
--- StringUtilsTest.java 29 Oct 2003 02:16:30 -0000 1.54
+++ StringUtilsTest.java 1 Nov 2003 19:20:35 -0000 1.55
@@ -1000,6 +1000,7 @@
assertEquals(StringUtils.removeStart("www.domain.com", "www."), "domain.com");
assertEquals(StringUtils.removeStart("domain.com", "www."), "domain.com");
assertEquals(StringUtils.removeStart("domain.com", ""), "domain.com");
+ assertEquals(StringUtils.removeStart("domain.com", null), "domain.com");
}
public void testRemoveEnd() {
@@ -1017,6 +1018,7 @@
assertEquals(StringUtils.removeEnd("www.domain.com", ".com"), "www.domain");
assertEquals(StringUtils.removeEnd("www.domain", ".com"), "www.domain");
assertEquals(StringUtils.removeEnd("domain.com", ""), "domain.com");
+ assertEquals(StringUtils.removeEnd("domain.com", null), "domain.com");
}
}
1.115 +74 -70 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.114
retrieving revision 1.115
diff -u -r1.114 -r1.115
--- StringUtils.java 29 Oct 2003 02:16:15 -0000 1.114
+++ StringUtils.java 1 Nov 2003 19:20:35 -0000 1.115
@@ -80,7 +80,9 @@
* - substring extraction relative to other strings</li>
* <li><b>Split/Join</b>
* - splits a String into an array of substrings and vice versa</li>
- * <li><b>Replace/Delete/Overlay</b>
+ * <li><b>Remove/Delete</b>
+ * - removes part of a String</li>
+ * <li><b>Replace/Overlay</b>
* - Searches a String and replaces one String with another</li>
* <li><b>Chomp/Chop</b>
* - removes the last part of a String</li>
@@ -2457,6 +2459,76 @@
return new String(chs, 0, count);
}
+ // Remove
+ //-----------------------------------------------------------------------
+ /**
+ * <p>Removes a substring only if it is at the begining of a source string,
+ * otherwise returns the source string.</p>
+ *
+ * <p>A <code>null</code> source string will return <code>null</code>.
+ * An empty ("") source string will return the empty string.
+ * A <code>null</code> search string will return the source string.</p>
+ *
+ * <pre>
+ * StringUtils.removeStart(null, *) = null
+ * StringUtils.removeStart("", *) = ""
+ * StringUtils.removeStart(*, null) = *
+ * StringUtils.removeStart("www.domain.com", "www.") = "domain.com"
+ * StringUtils.removeStart("domain.com", "www.") = "domain.com"
+ * StringUtils.removeStart("www.domain.com", "domain") = "www.domain.com"
+ * StringUtils.removeStart("abc", "") = "abc"
+ * </pre>
+ *
+ * @param str the source String to search, may be null
+ * @param remove the String to search for and remove, may be null
+ * @return the substring with the string removed if found,
+ * <code>null</code> if null String input
+ * @since 2.1
+ */
+ public static String removeStart(String str, String remove) {
+ if (str == null || str.length() == 0 || remove == null || remove.length() == 0) {
+ return str;
+ }
+ if (str.startsWith(remove)){
+ return str.substring(remove.length());
+ }
+ return str;
+ }
+
+ /**
+ * <p>Removes a substring only if it is at the end of a source string,
+ * otherwise returns the source string.</p>
+ *
+ * <p>A <code>null</code> source string will return <code>null</code>.
+ * An empty ("") source string will return the empty string.
+ * A <code>null</code> search string will return the source string.</p>
+ *
+ * <pre>
+ * StringUtils.removeEnd(null, *) = null
+ * StringUtils.removeEnd("", *) = ""
+ * StringUtils.removeEnd(*, null) = *
+ * StringUtils.removeEnd("www.domain.com", ".com.") = "www,domain"
+ * StringUtils.removeEnd("www.domain.com", ".com") = "www.domain"
+ * StringUtils.removeEnd("www.domain.com", "domain") = "www.domain.com"
+ * StringUtils.removeEnd("abc", "") = "abc"
+ * </pre>
+ *
+ * @param str the source String to search, may be null
+ * @param remove the String to search for and remove, may be null
+ * @return the substring with the string removed if found,
+ * <code>null</code> if null String input
+ * @since 2.1
+ */
+ public static String removeEnd(String str, String remove) {
+ if (str == null || str.length() == 0 || remove == null || remove.length() == 0) {
+ return str;
+ }
+ if (str.endsWith(remove)) {
+ return str.substring(0, str.length() - remove.length());
+ }
+ return str;
+ }
+
// Replacing
//-----------------------------------------------------------------------
/**
@@ -4353,74 +4425,6 @@
a = c;
}
return a;
- }
-
- /**
- * <p>Removes a substring only if it is at the begining of a source string, otherwise returns the source string.
- *
- * <p>A <code>null</code> source string will return <code>null</code>.
- * An empty ("") source string will return the empty string.
- * A <code>null</code> search string will return the source string.</p>
- *
- * <pre>
- * StringUtils.removeStart(null, *) = null
- * StringUtils.removeStart("", *) = ""
- * StringUtils.removeStart(*, null) = *
- * StringUtils.removeStart("www.domain.com", "www.") = "domain.com"
- * StringUtils.removeStart("domain.com", "www.") = "domain.com"
- * StringUtils.removeStart("abc", "") = "abc"
- * </pre>
- *
- * @param string the source String to search, may be null
- * @param remove the String to search for, may be null
- * @return the substring after the optional occurrence of the separator,
- * <code>null</code> if null String input
- */
- public static String removeStart(String str, String remove) {
- if (str == null || str.length() == 0) {
- return str;
- }
- if (remove == null || remove.length() == 0) {
- return str;
- }
- if (str.startsWith(remove)){
- return str.substring(remove.length());
- }
- return str;
- }
-
- /**
- * <p>Removes a substring only if it is at the end of a source string, otherwise returns the source string.
- *
- * <p>A <code>null</code> source string will return <code>null</code>.
- * An empty ("") source string will return the empty string.
- * A <code>null</code> search string will return the source string.</p>
- *
- * <pre>
- * StringUtils.removeEnd(null, *) = null
- * StringUtils.removeEnd("", *) = ""
- * StringUtils.removeEnd(*, null) = *
- * StringUtils.removeEnd("www.domain.com", ".com.") = "www,domain"
- * StringUtils.removeEnd("www.domain.com", ".com") = "www.domain"
- * StringUtils.removeEnd("abc", "") = "abc"
- * </pre>
- *
- * @param string the source String to search, may be null
- * @param remove the String to search for, may be null
- * @return the substring after the optional occurrence of the separator,
- * <code>null</code> if null String input
- */
- public static String removeEnd(String str, String remove) {
- if (str == null || str.length() == 0) {
- return str;
- }
- if (remove == null || remove.length() == 0) {
- return str;
- }
- if (str.endsWith(remove)) {
- return str.substring(0, str.length() - remove.length());
- }
- return str;
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org