public class String
extends Object
GDK enhancements for String.
| Type Params | Return Type | Name and description |
|---|---|---|
<T> |
public T |
asType(Class<T> c)Provides a method to perform custom 'dynamic' type conversion to the given class using the as operator. |
|
public String |
collectReplacements(Closure<String> transform)Iterates through this String a character at a time collecting either the original character or a transformed replacement String. |
|
public String |
collectReplacements(List<Function<Character, Optional<String>>> transforms)Iterates through this String a character at a time collecting either the original character or a transformed replacement String. |
|
public byte[] |
decodeBase64()Decode the String from Base64 into a byte array. |
|
public byte[] |
decodeBase64Url()Decodes a Base64 URL and Filename Safe encoded String into a byte array. |
|
public byte[] |
decodeHex()Decodes a hex string to a byte array. |
|
public String |
drop(int num)A String variant of the equivalent CharSequence method. |
|
public String |
dropRight(int num)A String variant of the equivalent CharSequence method CharSequence.dropRight. |
|
public String |
eachMatch(Pattern pattern, Closure closure)Processes each regex group matched substring of the given pattern. |
|
public String |
eachMatch(String regex, Closure closure)Process each regex group matched substring of the given string. |
|
public Process |
execute()Executes the command specified by self as a command-line process. |
|
public Process |
execute(String[] envp, File dir)Executes the command specified by self with environment defined by envp
and under the working directory dir. |
|
public Process |
execute(List envp, File dir)Executes the command specified by self with environment defined
by envp and under the working directory dir. |
|
public Process |
execute(Map<String, Object> options)Executes the command specified by self with options provided
as named parameters. |
|
public String |
getAt(int index)Supports the subscript operator for String. |
|
public String |
getAt(IntRange range)Supports the range subscript operator for String with IntRange. |
|
public String |
getAt(Range range)Supports the range subscript operator for String. |
|
public Boolean |
isAtLeast(String right)Compares a String representing a number to another. |
|
public StringBuffer |
leftShift(Object value)Overloads the left shift operator to provide an easy way to append multiple objects as string representations to a String. |
|
public String |
plus(CharSequence right)Appends the String representation of the given operand to this string. |
|
public String |
take(int num)A String variant of the equivalent CharSequence method. |
|
public String |
takeAfter(CharSequence searchString)A String variant of the equivalent CharSequence method CharSequence.takeAfter. |
|
public String |
takeBefore(String searchString)A String variant of the equivalent CharSequence method CharSequence.takeBefore. |
|
public String |
takeBetween(CharSequence from, CharSequence to)A String variant of the equivalent CharSequence method CharSequence.takeBetween. |
|
public String |
takeBetween(CharSequence enclosure)A String variant of the equivalent CharSequence method CharSequence.takeBetween. |
|
public String |
takeBetween(CharSequence from, CharSequence to, int occurrence)A String variant of the equivalent CharSequence method CharSequence.takeBetween. |
|
public String |
takeBetween(CharSequence enclosure, int occurrence)A String variant of the equivalent CharSequence method CharSequence.takeBetween. |
|
public String |
takeRight(int num)A GString variant of the equivalent CharSequence method CharSequence.takeRight. |
|
public Boolean |
toBoolean()Converts the given string into a Boolean object. |
|
public Character |
toCharacter()Converts the given string into a Character object using the first character in the string. |
|
public ProcessBuilder |
toProcessBuilder()Creates a ProcessBuilder from a command line String, tokenized on whitespace. |
|
public URI |
toURI()Transforms a String representing a URI into a URI object. |
|
public URL |
toURL()Transforms a String representing a URL into a URL object. |
| Methods inherited from class | Name |
|---|---|
class Object |
addShutdownHook, any, any, asBoolean, asType, collect, collect, collect, dump, each, eachMatch, eachMatch, eachWithIndex, every, every, find, find, findAll, findAll, findIndexOf, findIndexOf, findIndexValues, findIndexValues, findLastIndexOf, findLastIndexOf, findResult, findResult, findResult, findResult, getAt, getMetaClass, getMetaPropertyValues, getProperties, grep, grep, hasProperty, identity, inject, inject, inspect, invokeMethod, is, isCase, isNotCase, iterator, metaClass, print, print, printf, printf, println, println, println, putAt, respondsTo, respondsTo, setMetaClass, sleep, sleep, split, sprintf, sprintf, stream, tap, toString, use, use, use, with, with, withCloseable, withCloseable, withMethodClosure, withStream, withStream, withTraits |
Provides a method to perform custom 'dynamic' type conversion
to the given class using the as operator.
Example: '123' as Double
By default, the following types are supported:
c - the desired class Iterates through this String a character at a time collecting either the
original character or a transformed replacement String. The transform
Closure should return null to indicate that no transformation is
required for the given character.
assert "Groovy".collectReplacements{ it == 'o' ? '_O_' : null } == 'Gr_O__O_vy'
assert "Groovy".collectReplacements{ it.equalsIgnoreCase('O') ? '_O_' : null } == 'Gr_O__O_vy'
assert "Groovy".collectReplacements{ char c -> c == 'o' ? '_O_' : null } == 'Gr_O__O_vy'
assert "Groovy".collectReplacements{ Character c -> c == 'o' ? '_O_' : null } == 'Gr_O__O_vy'
assert "B&W".collectReplacements{ it == '&' ? '&' : null } == 'B&W'
transform Closure. Iterates through this String a character at a time collecting either the
original character or a transformed replacement String.
The return value is an Optional either having a value equal to the transformed replacement String
or empty() to indicate that no transformation is required.
import java.util.function.Function
import static java.util.Optional.*
Function<Character, Optional<String>> xform1 = s -> s == 'o' ? of('_O') : empty()
Function<Character, Optional<String>> xform2 = { it == 'G' ? of('G_') : empty() }
assert "Groovy".collectReplacements([xform1, xform2]) == 'G_r_O_Ovy'
transforms - one or more transforms which potentially convert a single character to a transformed stringtransform function.Decode the String from Base64 into a byte array.
Decodes a Base64 URL and Filename Safe encoded String into a byte array.
Decodes a hex string to a byte array. The hex string can contain either upper case or lower case letters.
A String variant of the equivalent CharSequence method.
num - the number of characters to drop from this Stringnum ones,
or else an empty String, if the String has less than num characters.A String variant of the equivalent CharSequence method CharSequence.dropRight.
num - number of charactersnum chars and empty of the num is greater than the
length of the CharSequenceProcesses each regex group matched substring of the given pattern. If the closure parameter takes one argument, an array with all match groups is passed to it. If the closure takes as many arguments as there are match groups, then each parameter will be one match group.
pattern - a regex Patternclosure - a closure with one parameter or as many parameters as groupsProcess each regex group matched substring of the given string. If the closure parameter takes one argument, an array with all match groups is passed to it. If the closure takes as many arguments as there are match groups, then each parameter will be one match group.
regex - a Regex stringclosure - a closure with one parameter or as many parameters as groups Executes the command specified by self as a command-line process.
For more control over Process construction you can use
java.lang.ProcessBuilder or String.toProcessBuilder.
Executes the command specified by self with environment defined by envp
and under the working directory dir.
For more control over Process construction you can use
java.lang.ProcessBuilder.
envp - an array of Strings, each element of which
has environment variable settings in the format
name=value, or
null if the subprocess should inherit
the environment of the current process.dir - the working directory of the subprocess, or
null if the subprocess should inherit
the working directory of the current process. Executes the command specified by self with environment defined
by envp and under the working directory dir.
For more control over Process construction you can use
java.lang.ProcessBuilder.
envp - a List of Objects (converted to Strings using toString), each member of which
has environment variable settings in the format
name=value, or
null if the subprocess should inherit
the environment of the current process.dir - the working directory of the subprocess, or
null if the subprocess should inherit
the working directory of the current process. Executes the command specified by self with options provided
as named parameters. Supported options:
"make test".execute(dir: new File("/project"), env: [CI: "true"])
"cmd".execute(redirectErrorStream: true)
options - a Map of options to configure the processSupports the subscript operator for String.
index - the index of the Character to getSupports the range subscript operator for String with IntRange.
range - an IntRangeSupports the range subscript operator for String.
range - a Range Compares a String representing a number to another. A fluent API style alias for compareTo on BigDecimal.
right - a String representing a numberOverloads the left shift operator to provide an easy way to append multiple objects as string representations to a String.
value - an ObjectAppends the String representation of the given operand to this string.
right - any CharSequenceA String variant of the equivalent CharSequence method.
num - the number of chars to take from this Stringnum chars,
or else the whole String if it has less than num elements.A String variant of the equivalent CharSequence method CharSequence.takeAfter.
searchString - String that is searched in this CharSequenceA String variant of the equivalent CharSequence method CharSequence.takeBefore.
searchString - CharSequence that is searched in this CharSequenceA String variant of the equivalent CharSequence method CharSequence.takeBetween.
from - beginning of searchto - end of searchA String variant of the equivalent CharSequence method CharSequence.takeBetween.
enclosure - Enclosure CharSequenceenclosure stringsA String variant of the equivalent CharSequence method CharSequence.takeBetween.
from - beginning of searchto - end of searchoccurrence - nth occurrence that is to be returned. 0 represents first onefrom and to CharSequences and empty if the unavailable inputs are given.A String variant of the equivalent CharSequence method CharSequence.takeBetween.
enclosure - Enclosure CharSequenceoccurrence - nth occurrence being returnedenclosure stringsA GString variant of the equivalent CharSequence method CharSequence.takeRight.
num - the number of chars to take from this CharSequence from the rightnum chars,
or else the whole CharSequence if it has less than num elements.Converts the given string into a Boolean object. If the trimmed string is "true", "y" or "1" (ignoring case) then the result is true otherwise it is false.
Converts the given string into a Character object using the first character in the string.
Creates a ProcessBuilder from a command line String, tokenized on whitespace. This bridges Groovy's convenient string syntax with ProcessBuilder's full feature set.
def pb = "find . -name '*.groovy'".toProcessBuilder()
pb.directory(new File("/project"))
pb.redirectErrorStream(true)
def proc = pb.start()
Transforms a String representing a URI into a URI object.
Transforms a String representing a URL into a URL object.