@Test public void testRemoveSuffix() { final Object[][] testParameters = new Object[][] {{null, "h", null}, {"hello, world", "rld", "hello, wo"}, {"hello, world", "ald", "hello, world"}}; for (final Object[] testParameter : testParameters) { String expected = (String) testParameter[2]; String str = (String) testParameter[0]; String prefix = (String) testParameter[1]; assertEquals(expected, StringUtils.removeSuffix(str, prefix)); } }
public static String removeSuffix(final String str, String suffix) { if (null == str) { return null; } if (str.endsWith(suffix)) { return str.substring(0, str.length() - suffix.length()); } else { return str; } }
StringUtils { public static String removeSuffix(final String str, String suffix) { if (null == str) { return null; } if (str.endsWith(suffix)) { return str.substring(0, str.length() - suffix.length()); } else { return str; } } }
StringUtils { public static String removeSuffix(final String str, String suffix) { if (null == str) { return null; } if (str.endsWith(suffix)) { return str.substring(0, str.length() - suffix.length()); } else { return str; } }  }
StringUtils { public static String removeSuffix(final String str, String suffix) { if (null == str) { return null; } if (str.endsWith(suffix)) { return str.substring(0, str.length() - suffix.length()); } else { return str; } }  static boolean isEmpty(final CharSequence str); static int length(final CharSequence str); static boolean hasLength(final CharSequence str); static boolean hasText(final CharSequence str); static String nvl(final String... strs); static List<String> split(final String string, final String delimiter); static String split(final String string, final String delimiter, final int index); static String ltrim(final String str); static String rtrim(final String str); static String trim(final String str); static String join(final Iterable<?> values, final String token); static String join(final Object[] values, final String token); static String multiply(final String word, final int repeat); static void multiply(final StringBuilder buffer, final String word, final int repeat); static String repeat(final String word, final int repeat); static String uncapitalize(final String str); static int countMatches(final String str, final char ch); static String removePrefix(final String str, String prefix); static String removeSuffix(final String str, String suffix); }
StringUtils { public static String removeSuffix(final String str, String suffix) { if (null == str) { return null; } if (str.endsWith(suffix)) { return str.substring(0, str.length() - suffix.length()); } else { return str; } }  static boolean isEmpty(final CharSequence str); static int length(final CharSequence str); static boolean hasLength(final CharSequence str); static boolean hasText(final CharSequence str); static String nvl(final String... strs); static List<String> split(final String string, final String delimiter); static String split(final String string, final String delimiter, final int index); static String ltrim(final String str); static String rtrim(final String str); static String trim(final String str); static String join(final Iterable<?> values, final String token); static String join(final Object[] values, final String token); static String multiply(final String word, final int repeat); static void multiply(final StringBuilder buffer, final String word, final int repeat); static String repeat(final String word, final int repeat); static String uncapitalize(final String str); static int countMatches(final String str, final char ch); static String removePrefix(final String str, String prefix); static String removeSuffix(final String str, String suffix); static final String NULL_STRING; static final String EMPTY_STRING; }