String

    Functions for ASCII strings:

    List of functions

    • String::Base64Encode(String{Flags:AutoMap}) -> String

    • String::Base64Decode(String) -> String?

    • String::Base64StrictDecode(String) -> String?

    • String::EscapeC(String{Flags:AutoMap}) -> String

    • String::UnescapeC(String{Flags:AutoMap}) -> String

    • String::HexEncode(String{Flags:AutoMap}) -> String

    • String::HexDecode(String) -> String?

    • String::EncodeHtml(String{Flags:AutoMap}) -> String

    • String::DecodeHtml(String{Flags:AutoMap}) -> String

    • String::CgiEscape(String{Flags:AutoMap}) -> String

    • String::CgiUnescape(String{Flags:AutoMap}) -> String

    • String::Strip(String{Flags:AutoMap}) -> String

    • String::Collapse(String{Flags:AutoMap}) -> String

    • String::CollapseText(String{Flags:AutoMap}, Uint64) -> String

    • String::Contains(String?, String) -> Bool

    • String::Find(String{Flags:AutoMap}, String, [Uint64?]) -> Int64: Returns the first position found or -1. The optional argument is the offset from the beginning of the string.

    • String::ReverseFind(String{Flags:AutoMap}, String, [Uint64?]) -> Int64: Returns the last position found or -1. The optional argument is the offset from the beginning of the string.

    • String::HasPrefix(String?, String) -> Bool

    • String::HasPrefixIgnoreCase(String?, String) -> Bool

    • String::StartsWith(String?, String) -> Bool

    • String::StartsWithIgnoreCase(String?, String) -> Bool

    • String::HasSuffix(String?, String) -> Bool

    • String::HasSuffixIgnoreCase(String?, String) -> Bool

    • String::EndsWith(String?, String) -> Bool

    • String::EndsWithIgnoreCase(String?, String) -> Bool

    • String::Substring(String{Flags:AutoMap}, [Uint64?, Uint64?]) -> String

    • String::AsciiToLower(String{Flags:AutoMap}) -> String: Changes only Latin characters. For working with other alphabets, see Unicode::ToLower

    • String::AsciiToUpper(String{Flags:AutoMap}) -> String: Changes only Latin characters. For working with other alphabets, see Unicode::ToUpper

    • String::AsciiToTitle(String{Flags:AutoMap}) -> String: Changes only Latin characters. For working with other alphabets, see Unicode::ToTitle

    • String::SplitToList( String?, String, [ DelimeterString:Bool?, SkipEmpty:Bool?, Limit:Uint64? ]) -> List<String>
      The first argument is the source string
      The second argument is a delimiter
      The third argument includes the following parameters:

      • DelimeterString:Bool? — treating a delimiter as a string (true, by default) or a set of characters "any of" (false)
      • SkipEmpty:Bool? — whether to skip empty strings in the result, is false by default
      • Limit:Uint64? — Limits the number of fetched components (unlimited by default); if the limit is exceeded, the raw suffix of the source string is returned in the last item
    • String::JoinFromList(List<String>{Flags:AutoMap}, String) -> String

    • String::ToByteList(List<String>{Flags:AutoMap}) -> List<Byte>

    • String::FromByteList(List<Uint8>) -> String

    • String::ReplaceAll(String{Flags:AutoMap}, String, String) -> String: Arguments: input, find, replacement

    • String::ReplaceFirst(String{Flags:AutoMap}, String, String) -> String: Arguments: input, find, replacement

    • String::ReplaceLast(String{Flags:AutoMap}, String, String) -> String: Arguments: input, find, replacement

    • String::RemoveAll(String{Flags:AutoMap}, String) -> String: The second argument is interpreted as an unordered set of characters to delete

    • String::RemoveFirst(String{Flags:AutoMap}, String) -> String: An unordered set of characters in the second argument, only the first encountered character from set is deleted

    • String::RemoveLast(String{Flags:AutoMap}, String) -> String: An unordered set of characters in the second argument, only the last encountered character from the set is deleted

    • String::IsAscii(String{Flags:AutoMap}) -> Bool

    • String::IsAsciiSpace(String{Flags:AutoMap}) -> Bool

    • String::IsAsciiUpper(String{Flags:AutoMap}) -> Bool

    • String::IsAsciiLower(String{Flags:AutoMap}) -> Bool

    • String::IsAsciiAlpha(String{Flags:AutoMap}) -> Bool

    • String::IsAsciiAlnum(String{Flags:AutoMap}) -> Bool

    • String::IsAsciiHex(String{Flags:AutoMap}) -> Bool

    • String::LevensteinDistance(String{Flags:AutoMap}, String{Flags:AutoMap}) -> Uint64

    • String::LeftPad(String{Flags:AutoMap}, Uint64, [String?]) -> String

    • String::RightPad(String{Flags:AutoMap}, Uint64) -> String

    • String::Hex(Uint64{Flags:AutoMap}) -> String

    • String::SHex(Int64{Flags:AutoMap}) -> String

    • String::Bin(Uint64{Flags:AutoMap}) -> String

    • String::SBin(Int64{Flags:AutoMap}) -> String

    • String::HexText(String{Flags:AutoMap}) -> String

    • String::BinText(String{Flags:AutoMap}) -> String

    • String::HumanReadableDuration(Uint64{Flags:AutoMap}) -> String

    • String::HumanReadableQuantity(Uint64{Flags:AutoMap}) -> String

    • String::HumanReadableBytes(Uint64{Flags:AutoMap}) -> String

    • String::Prec(Double{Flags:AutoMap}, Uint64) -> String*

    • String::Reverse(String?) -> String?

    Alert

    The functions from the String library don't support Cyrillic and can only work with ASCII characters. To work with UTF-8 encoded strings, use functions from Unicode.

    Examples

    SELECT String::Base64Encode("YQL"); -- "WVFM"
    SELECT String::Strip("YQL ");       -- "YQL"
    SELECT String::SplitToList("1,2,3,4,5,6,7", ",", 3 as Limit); -- ["1", "2", "3", "4,5,6,7"]