[Title] Added StringUtil method. removeStart.
authorgyeongseok.seo <gyeongseok.seo@samsung.com>
Fri, 17 Aug 2012 07:03:24 +0000 (16:03 +0900)
committergyeongseok.seo <gyeongseok.seo@samsung.com>
Fri, 17 Aug 2012 07:03:24 +0000 (16:03 +0900)
[Type] Enhancement
[Module] common-eplugin
[Priority] Minor
[Jira#]
[Redmine#] 6364
[Problem]
[Cause]
[Solution]
[TestCase]

Change-Id: I9a0b70800efe49f7d33a3d62bf6ef1441ed88cee

org.tizen.common/src/org/tizen/common/util/StringUtil.java
org.tizen.common/test/src/org/tizen/common/util/StringUtilTest.java

index a531a07..6c7ef6d 100644 (file)
@@ -45,6 +45,7 @@ import org.tizen.common.util.log.Logger;
  *  @author gyeongseok.seo@samsung.com, S-Core Inc. 
  *  <ul>
  *  <li> added split method.
+ *  <li> added removeStart method.
  *  </ul> 
  */
 public class StringUtil
@@ -238,6 +239,24 @@ public class StringUtil
         return str;
     }
 
+    /**
+     * remove string in target string
+     * if target is empty or remove word is empty then just return target string
+     * 
+     * @param str - target string
+     * @param remove - remove string
+     * @return removed target string
+     */
+    public static String removeStart(String str, String remove) {
+        if (isEmpty(str) || isEmpty(remove) ) {
+            return str;
+        }
+        if (str.startsWith(remove)){
+            return str.substring(remove.length());
+        }
+        return str;
+    }
+
     /* Logging */
     /**
      * </p>
index 24d3c60..e95191c 100644 (file)
@@ -413,6 +413,36 @@ StringUtilTest
         assertEquals(enumBuilder.toString(), utilBuilder.toString());
     }
 
+    /**
+     * Test {@link StringUtil#removeStart(String, String)}
+     * 
+     * @throws Exception in case of failure in test
+     * 
+     * @see {@link StringUtil#removeStart(String, String)}
+     */
+    @Test
+    public void
+    test_removeStart()
+    throws Exception
+    {
+        String str = "abcdefg";
+        String remove1 = "a";
+        String remove2 = "abc";
+        String remove3 = "def";
+
+        // null test
+        assertEquals( str, StringUtil.removeStart( str, null ) );
+        assertEquals( null, StringUtil.removeStart( null, remove1 ) );
+        assertEquals( null, StringUtil.removeStart( null, null ) );
+
+        // start with
+        assertEquals( "bcdefg", StringUtil.removeStart(str, remove1 ) );
+        assertEquals( "defg", StringUtil.removeStart(str, remove2 ) );
+
+        // not start with
+        assertEquals( str, StringUtil.removeStart(str, remove3 ) );
+    }
+
     public enum TestEnumCase {
         ABC("ABC"),
         DEF("DEF"),