org.apache.tools.ant.util

## Class StringUtils

- java.lang.Object
- - org.apache.tools.ant.util.StringUtils

    public final class StringUtils
    extends java.lang.Object

A set of helper methods related to string manipulation.

### Field Summary

Fields
`static java.lang.String` `LINE_SEP` the line separator for this OS

### Method Summary

Methods
`static boolean` `endsWith(java.lang.StringBuffer buffer, java.lang.String suffix)` Checks that a string buffer ends up with a given string.
`static java.lang.String` `getStackTrace(java.lang.Throwable t)` Convenient method to retrieve the full stacktrace from a given exception.
`static java.util.Vector<java.lang.String>` `lineSplit(java.lang.String data)` Splits up a string into a list of lines.
`static long` `parseHumanSizes(java.lang.String humanSize)` Takes a human readable size representation eg 10K a long value.
`static java.lang.String` `removePrefix(java.lang.String string, java.lang.String prefix)` Removes the prefix from a given string, if the string contains that prefix.
`static java.lang.String` `removeSuffix(java.lang.String string, java.lang.String suffix)` Removes the suffix from a given string, if the string contains that suffix.
`static java.lang.String` `replace(java.lang.String data, java.lang.String from, java.lang.String to)` Deprecated. Use `String.replace(CharSequence, CharSequence)` now.
`static java.lang.String` `resolveBackSlash(java.lang.String input)` xml does not do "c" like interpretation of strings.
`static java.util.Vector<java.lang.String>` `split(java.lang.String data, int ch)` Splits up a string where elements are separated by a specific character and return all elements.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### LINE_SEP

    public static final java.lang.String LINE_SEP

the line separator for this OS

### Method Detail

#### lineSplit

    public static java.util.Vector<java.lang.String> lineSplit(java.lang.String data)

Splits up a string into a list of lines. It is equivalent to `split(data, '\n')`.

Parameters:
  `data` - the string to split up into lines.
Returns:
  the list of lines available in the string.

#### split

    public static java.util.Vector<java.lang.String> split(java.lang.String data,
                                           int ch)

Splits up a string where elements are separated by a specific character and return all elements.

Parameters:
  `data` - the string to split up.
  `ch` - the separator character.
Returns:
  the list of elements.

#### replace

    public static java.lang.String replace(java.lang.String data,
                           java.lang.String from,
                           java.lang.String to)

Deprecated. Use `String.replace(CharSequence, CharSequence)` now.
Replace occurrences into a string.

Parameters:
  `data` - the string to replace occurrences into
  `from` - the occurrence to replace.
  `to` - the occurrence to be used as a replacement.
Returns:
  the new string with replaced occurrences.

#### getStackTrace

    public static java.lang.String getStackTrace(java.lang.Throwable t)

Convenient method to retrieve the full stacktrace from a given exception.

Parameters:
  `t` - the exception to get the stacktrace from.
Returns:
  the stacktrace from the given exception.

#### endsWith

    public static boolean endsWith(java.lang.StringBuffer buffer,
                   java.lang.String suffix)

Checks that a string buffer ends up with a given string. It may sound trivial with the existing JDK API but the various implementation among JDKs can make those methods extremely resource intensive and perform poorly due to massive memory allocation and copying. See

Parameters:
  `buffer` - the buffer to perform the check on
  `suffix` - the suffix
Returns:
  `true` if the character sequence represented by the argument is a suffix of the character sequence represented by the StringBuffer object; `false` otherwise. Note that the result will be `true` if the argument is the empty string.

#### resolveBackSlash

    public static java.lang.String resolveBackSlash(java.lang.String input)

xml does not do "c" like interpretation of strings. i.e. \n\r\t etc. this method processes \n, \r, \t, \f, \\ also subs \s -> " \n\r\t\f" a trailing '\' will be ignored

Parameters:
  `input` - raw string with possible embedded '\'s
Returns:
  converted string
Since:
  Ant 1.7

#### parseHumanSizes

    public static long parseHumanSizes(java.lang.String humanSize)
                                throws java.lang.Exception

Takes a human readable size representation eg 10K a long value. Doesn't support 1.1K or other rational values.

Parameters:
  `humanSize` - the amount as a human readable string.
Returns:
  a long value representation
Throws:
  `java.lang.Exception` - if there is a problem.
Since:
  Ant 1.7

#### removeSuffix

    public static java.lang.String removeSuffix(java.lang.String string,
                                java.lang.String suffix)

Removes the suffix from a given string, if the string contains that suffix.

Parameters:
  `string` - String for check
  `suffix` - Suffix to remove
Returns:
  the string with the suffix

#### removePrefix

    public static java.lang.String removePrefix(java.lang.String string,
                                java.lang.String prefix)

Removes the prefix from a given string, if the string contains that prefix.

Parameters:
  `string` - String for check
  `prefix` - Prefix to remove
Returns:
  the string with the prefix