type
fields
defVal |
Default value is "". |
---|
methods
all |
Return true if c returns true for all of the characters in this string. |
---|---|
any |
Return true if c returns true for any of the characters in this string. |
capitalize |
Return this string with the first character converted uppercase. |
chars |
Get the characters in this string as a list of integer code points. |
compare |
Compare based on Unicode character values. |
compareIgnoreCase |
Compare two strings without regard to case and return -1, 0, or 1 if this string is less than, equal to, or greater than the specified string. |
contains |
Return if this string contains the specified string. |
containsChar |
Return if this string contains the specified character. |
decapitalize |
Return this string with the first character converted lowercase. |
each |
Call the specified function for every char in the string with index 0 and incrementing up to size-1. |
eachWhile |
Iterate each character in the string until the function returns non-null. |
eachr |
Reverse each - call the specified function for every char in the string starting with index size-1 and decrementing down to 0. |
endsWith |
Return if this Str ends with the specified Str. |
equals |
Return true if a Str with exact same char sequence. |
equalsIgnoreCase |
Convenience for |
fromChars |
Construct a string from a list of unicode code points. |
fromDisplayName |
Translate a display name like "Foo Bar" to a programmatic name "fooBar". |
get |
Get the character at the zero based index as a Unicode code point. |
getRange |
Return a substring based on the specified range. |
getSafe |
Get the character at the zero based index as a Unicode code point. |
hash |
The hash for a Str is platform dependent. |
in |
Create an input stream to read characters from this string. |
index |
Return the first occurrence of the specified substring searching forward, starting at the specified offset index. |
indexIgnoreCase |
Find the index just like |
indexr |
Reverse index - return the first occurrence of the specified substring searching backward, starting at the specified offset index. |
indexrIgnoreCase |
Find the index just like |
intern |
Internalize this Str such that two strings which are equal via the |
isAlpha |
Return if every char is an ASCII |
isAlphaNum |
Return if every char is an ASCII |
isAscii |
Return if every character in this Str is a US-ASCII character less than 128. |
isEmpty |
Return if |
isLower |
Return if every character in this Str is ASCII lowercase: |
isSpace |
Return if every character in this Str is whitespace: space \t \n \r \f |
isUpper |
Return if every character in this Str is ASCII uppercase: |
justl |
If size is less than width, then add spaces to the right to create a left justified string. |
justr |
If size is less than width, then add spaces to the left to create a right justified string. |
localeCapitalize |
Return this string with the first character converted to uppercase using the current locale. |
localeCompare |
Compare two strings without regard to case according to the current locale. |
localeDecapitalize |
Return this string with the first character converted to lowercase using the current locale. |
localeLower |
Return this string with all uppercase characters replaced to lowercase using the current locale. |
localeUpper |
Return this string with all lowercase characters replaced to uppercase using the current locale. |
lower |
Return this string with all uppercase characters replaced to lowercase. |
mult |
Duplicate this string the given number of times. |
numNewlines |
Count the number of newline combinations: "\n", "\r", or "\r\n". |
padl |
If size is less than width, then add the given char to the left to achieve the specified width. |
padr |
If size is less than width, then add the given char to the left to achieve the specified width. |
plus |
Concat the value of obj.toStr |
replace |
Replace all occurrences of |
reverse |
Reverse the contents of this string. |
size |
Return number of characters in this string. |
spaces |
Get a Str containing the specified number of spaces. |
split |
Split a string into a list of substrings using the given separator character. |
splitLines |
Split this string into individual lines where lines are terminated by \n, \r\n, or \r. |
startsWith |
Return if this Str starts with the specified Str. |
toBool |
Convenience for |
toBuf |
Get this string encoded into a buffer of bytes. |
toCode |
Return this string as its Fantom source code and serialization representation surrounded by the specified quote character (which defaults to |
toDecimal |
Convenience for |
toDisplayName |
Translate a programmer name like "fooBar" to "Foo Bar". |
toFloat |
Convenience for |
toInt |
Convenience for |
toLocale |
Return this. |
toRegex |
Convenience for |
toStr |
Return this. |
toUri |
Convenience for |
toXml |
Return this string as valid XML text. |
trim |
Trim whitespace from the beginning and end of the string. |
trimEnd |
Trim whitespace only from the end of the string. |
trimStart |
Trim whitespace only from the beginning of the string. |
trimToNull |
Trim whitespace from the beginning and end of the string. |
upper |
Return this string with all lowercase characters replaced to uppercase. |
Slot Details
all
any
capitalize
Return this string with the first character converted uppercase. The case conversion is for ASCII only. Also see decapitalize
and localeCapitalize
.
Example:
"foo".capitalize => "Foo"
chars
compare
src
virtual override Int compare(Obj obj)
Compare based on Unicode character values. Case is not taken into account - also see compareIgnoreCase
and localeCompare
.
Examples:
"a".compare("b") => -1 "hi".compare("hi") => 0 "hi".compare("HI") => 1 "b".compare("a") => 1
compareIgnoreCase
src
Int compareIgnoreCase(Str s)
Compare two strings without regard to case and return -1, 0, or 1 if this string is less than, equal to, or greater than the specified string. Only ASCII character case is taken into account. See localeCompare
for localized case insensitive comparisions.
Examples:
"a".compareIgnoreCase("b") => -1 "hi".compareIgnoreCase("HI") => 0 "b".compareIgnoreCase("a") => 1
contains
containsChar
decapitalize
Return this string with the first character converted lowercase. The case conversion is for ASCII only. Also see capitalize
and localeDecapitalize
.
Example:
"Foo".decapitalize => "foo"
defVal
each
eachWhile
eachr
endsWith
equals
equalsIgnoreCase
src
Bool equalsIgnoreCase(Str s)
Convenience for compareIgnoreCase(s) == 0
. Only ASCII character case is taken into account. See localeCompare
for localized case insensitive comparisions.
fromChars
fromDisplayName
Translate a display name like "Foo Bar" to a programmatic name "fooBar". This method decapitalizes the first letter, then walks the string removing spaces. Also see toDisplayName
.
Examples:
"Foo".fromDisplayName -> "foo" "Foo Bar".fromDisplayName -> "fooBar" "Foo Bar Baz".fromDisplayName -> "fooBarBaz" "Foo 33 Bar".fromDisplayName -> "foo33Bar" "Foo XML".fromDisplayName -> "fooXML" "foo bar".fromDisplayName -> "fooBar"
get
getRange
src
@Operator
Str getRange(Range range)
Return a substring based on the specified range. Negative indexes may be used to access from the end of the string. This method is accessed via the [] operator. Throw IndexErr if range illegal.
Examples:
"abcd"[0..2] => "abc" "abcd"[3..3] => "d" "abcd"[-2..-1] => "cd" "abcd"[0..<2] => "ab" "abcd"[1..-2] => "bc" "abcd"[4..-1] => ""
getSafe
hash
in
index
src
Int? index(Str s, Int offset := 0)
Return the first occurrence of the specified substring searching forward, starting at the specified offset index. A negative offset may be used to access from the end of string. Return null if no occurrences are found.
Examples:
"abcabc".index("b") => 1 "abcabc".index("b", 1) => 1 "abcabc".index("b", 3) => 4 "abcabc".index("b", -3) => 4 "abcabc".index("x") => null
indexIgnoreCase
indexr
src
Int? indexr(Str s, Int offset := -1)
Reverse index - return the first occurrence of the specified substring searching backward, starting at the specified offset index. A negative offset may be used to access from the end of string. Return null if no occurrences are found.
Examples:
"abcabc".indexr("b") => 4 "abcabc".indexr("b", -3) => 1 "abcabc".indexr("b", 0) => null
indexrIgnoreCase
intern
isAlpha
isAlphaNum
Return if every char is an ASCII alpha-numeric
.
isAscii
isEmpty
isLower
isSpace
isUpper
justl
justr
localeCapitalize
Return this string with the first character converted to uppercase using the current locale. Also see localeDecapitalize
and capitalize
.
localeCompare
Compare two strings without regard to case according to the current locale. Return -1, 0, or 1 if this string is less than, equal to, or greater than the specified string.
Examples (assuming English locale):
"a".localeCompare("b") => -1 "hi".localeCompare("HI") => 0 "b".localeCompare("A") => 1
localeDecapitalize
Return this string with the first character converted to lowercase using the current locale. Also see localeCapitalize
and decapitalize
.
localeLower
Return this string with all uppercase characters replaced to lowercase using the current locale. Also see localeUpper
, lower
, and Int.localeLower
.
localeUpper
Return this string with all lowercase characters replaced to uppercase using the current locale. Also see localeLower
, upper
, and Int.localeUpper
.
lower
Return this string with all uppercase characters replaced to lowercase. The case conversion is for ASCII only. Also see upper
, localeLower
, Int.lower
, Int.localeLower
.
Example:
"Apple".lower => "apple"
mult
numNewlines
padl
padr
plus
replace
reverse
size
spaces
split
src
Str[] split(Int? separator := null, Bool trim := true)
Split a string into a list of substrings using the given separator character. If there are contiguous separators, then they are split into empty strings. If trim is true, then whitespace is trimmed from the beginning and end of the results.
If separator is null, then the string is split according to any sequence of whitespace characters (any character equal to or less than the 0x20 space character including
, \r
, \n
, and \t
).
If this is the empty string or there are no splits return a list of one item.
Examples:
// split on whitespace "".split => [""] "x".split => ["x"] "x y".split => ["x", "y"] " x y ".split => ["x", "y"] " x \n y \n z ".split => ["x", "y", "z"] // split on sep with trim "".split('|') => [""] "22".split(';') => ["22"] "22;33".split(';') => ["22","33"] "22, 33".split(',') => ["22","33"] " 22 ; 33 ".split(';') => ["22","33"] // split on sep with no trim "22#33".split('#', false) => ["22","33"] " x ; y".split(';', false) => [" x "," y"]
splitLines
Split this string into individual lines where lines are terminated by \n, \r\n, or \r. The returned strings do not contain the newline character.
Examples:
"x\ny".splitLines => ["x", "y"] "".splitLines => [""] "x".splitLines => ["x"] "\r\n".splitLines => ["", ""] "x\n".splitLines => ["x", ""]
startsWith
toBool
src
Bool? toBool(Bool checked := true)
Convenience for Bool.fromStr
using this string.
toBuf
toCode
src
Str toCode(Int? quote := 34, Bool escapeUnicode := false)
Return this string as its Fantom source code and serialization representation surrounded by the specified quote character (which defaults to "
). If quote is null then the return is unquoted. This method will backslash escape the following characters: \n \r \f \t \\ $
. If the quote character is the double quote, single quote, or backtick then it is escaped too. Control chars less than 0x20 are escaped as \uXXXX
. If escapeUnicode
is true then any char over 0x7F is escaped as \uXXXX
.
toDecimal
src
Decimal? toDecimal(Bool checked := true)
Convenience for Decimal.fromStr
using this string.
toDisplayName
Translate a programmer name like "fooBar" to "Foo Bar". This method capitalizes the first letter, then walks the string looking for ASCII capital letters and inserting a space. Any underbars are replaced with a space. Also see fromDisplayName
.
Examples:
"foo".toDisplayName -> "Foo "fooBar".toDisplayName -> "Foo Bar" "fooBarBaz".toDisplayName -> "Foo Bar Baz" "foo33".toDisplayName -> "Foo 33" "fooXML".toDisplayName -> "Foo XML" "Foo".toDisplayName -> "Foo" "foo_bar".toDisplayName -> "Foo Bar"
toFloat
src
Float? toFloat(Bool checked := true)
Convenience for Float.fromStr
using this string.
toInt
src
Int? toInt(Int radix := 10, Bool checked := true)
Convenience for Int.fromStr
using this string.
toLocale
toRegex
Convenience for Regex.fromStr
using this string.
toStr
toUri
Convenience for Uri.fromStr
using this string.
toXml
Return this string as valid XML text. The special control characters amp, lt, apos and quot are always escaped. The gt char is escaped only if it is the first char or if preceded by the ]
char. Also see OutStream.writeXml
which is more efficient if streaming.
trim
Trim whitespace from the beginning and end of the string. For the purposes of this method, whitespace is defined as any character equal to or less than the 0x20 space character (including
, \r
, \n
, and \t
).
Examples:
"foo".trim => "foo" " foo".trim => "foo" " foo ".trim => "foo" " foo\n".trim => "foo" " ".trim => ""
trimEnd
trimStart
trimToNull
Trim whitespace from the beginning and end of the string. Should the resultant string be empty, null
is returned.
For the purposes of this method, whitespace is defined as any character equal to or less than the 0x20 space character (including
, \r
, \n
, and \t
).
Examples:
"foo".trimToNull => "foo" " foo ".trimToNull => "foo" "".trimToNull => null " ".trimToNull => null
upper
Return this string with all lowercase characters replaced to uppercase. The case conversion is for ASCII only. Also see lower
, localeUpper
, Int.upper
, Int.localeUpper
.
Example:
"Foo Bar".upper => "FOO BAR"