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 starting 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 the this string. |
index |
Return the first occurance of the specified substring searching forward, starting at the specified offset index. |
indexIgnoreCase |
Find the index just like |
indexr |
Reverse index - return the first occurance 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 acheive the specified with. |
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 the 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
Str 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
virtual override Int compare(Obj obj)
Compare based on Unicode character values. Case is not 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
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
Str 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
const static Str defVal
Default value is "".
each
eachWhile
eachr
endsWith
equals
equalsIgnoreCase
Convenience for compareIgnoreCase(s) == 0
. Only ASCII character case is taken into account. See localeCompare
for localized case insensitive comparisions.
fromChars
fromDisplayName
Str 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
@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
virtual override Int hash()
The hash for a Str is platform dependent.
in
InStream in()
Create an input stream to read characters from the this string. The input stream is designed only to read character data. Attempts to perform binary reads will throw UnsupportedErr.
index
Int? index(Str s, Int offset := 0)
Return the first occurance 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 occurences 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
Int? indexr(Str s, Int offset := -1)
Reverse index - return the first occurance 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 occurences are found.
Examples:
"abcabc".indexr("b") => 4 "abcabc".indexr("b", -3) => 1 "abcabc".indexr("b", 0) => null
indexrIgnoreCase
intern
Str intern()
Internalize this Str such that two strings which are equal via the ==
operator will have the same reference such that ===
will be true.
isAlpha
isAlphaNum
Bool isAlphaNum()
Return if every char is an ASCII alpha-numeric
.
isAscii
Bool isAscii()
Return if every character in this Str is a US-ASCII character less than 128.
isEmpty
Bool isEmpty()
Return if size() == 0
.
isLower
Bool isLower()
Return if every character in this Str is ASCII lowercase: a
-'z'.
isSpace
Bool isSpace()
Return if every character in this Str is whitespace: space \t \n \r \f
isUpper
Bool isUpper()
Return if every character in this Str is ASCII uppercase: A
-'Z'.
justl
justr
localeCapitalize
Str 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
Str localeDecapitalize()
Return this string with the first character converted to lowercase using the current locale. Also see localeCapitalize
and decapitalize
.
localeLower
Str localeLower()
Return this string with all uppercase characters replaced to lowercase using the current locale. Also see localeUpper
, lower
, and Int.localeLower
.
localeUpper
Str localeUpper()
Return this string with all lowercase characters replaced to uppercase using the current locale. Also see localeLower
, upper
, and Int.localeUpper
.
lower
Str 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
Int numNewlines()
Count the number of newline combinations: "\n", "\r", or "\r\n".
padl
padr
plus
replace
reverse
size
Int size()
Return number of characters in this string.
spaces
split
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
Str[] 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
Bool? toBool(Bool checked := true)
Convenience for Bool.fromStr
using this string.
toBuf
toCode
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 it is escaped as \uXXXX
.
toDecimal
Decimal? toDecimal(Bool checked := true)
Convenience for Decimal.fromStr
using this string.
toDisplayName
Str 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
Float? toFloat(Bool checked := true)
Convenience for Float.fromStr
using this string.
toInt
Int? toInt(Int radix := 10, Bool checked := true)
Convenience for Int.fromStr
using this string.
toLocale
Str toLocale()
Return this. This method is used to enable toLocale
to be used with duck typing across most built-in types.
toRegex
Regex toRegex()
Convenience for Regex.fromStr
using this string.
toStr
virtual override Str toStr()
Return this.
toUri
Uri toUri()
Convenience for Uri.fromStr
using this string.
toXml
Str 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 preceeded by the ]
char. Also see OutStream.writeXml
which is more efficient if streaming.
trim
Str 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
Str? 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
Str 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"