From 19fed40aac6ead16df4c30d2aa28fd3700ad5a7e Mon Sep 17 00:00:00 2001 From: Shekhar Gulati Date: Sat, 21 May 2016 18:05:13 +0530 Subject: [PATCH] Fixed #14. Added support for `leftTrim` function --- src/main/java/strman/Strman.java | 11 ++++++++++- src/test/java/strman/StrmanTest.java | 6 ++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/src/main/java/strman/Strman.java b/src/main/java/strman/Strman.java index 8515e42..c1e6230 100644 --- a/src/main/java/strman/Strman.java +++ b/src/main/java/strman/Strman.java @@ -602,7 +602,16 @@ public abstract class Strman { return value.toLowerCase().lastIndexOf(needle.toLowerCase(), offset); } - + /** + * Removes all spaces on left + * + * @param value The input String + * @return String without left border spaces + */ + public static String leftTrim(final String value) { + validate(value, NULL_STRING_PREDICATE, NULL_STRING_MSG_SUPPLIER); + return value.replaceAll("^\\s+", ""); + } public static String decode(final String value, final int digits, final int radix) { validate(value, NULL_STRING_PREDICATE, NULL_STRING_MSG_SUPPLIER); diff --git a/src/test/java/strman/StrmanTest.java b/src/test/java/strman/StrmanTest.java index b28f853..c388bfd 100644 --- a/src/test/java/strman/StrmanTest.java +++ b/src/test/java/strman/StrmanTest.java @@ -475,4 +475,10 @@ public class StrmanTest { assertThat(lastIndexOf(value, "R", false), equalTo(11)); assertThat(lastIndexOf(value, "T", false), equalTo(-1)); } + + @Test + public void leftTrim_shouldRemoveSpacesOnLeft() throws Exception { + assertThat(leftTrim(" strman"), equalTo("strman")); + assertThat(leftTrim(" strman "), equalTo("strman ")); + } } \ No newline at end of file