| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864 |
- <?xml version="1.0" encoding="UTF-8" ?>
- <class name="String" version="4.0">
- <brief_description>
- Built-in string class.
- </brief_description>
- <description>
- This is the built-in string class (and the one used by GDScript). It supports Unicode and provides all necessary means for string handling. Strings are reference-counted and use a copy-on-write approach, so passing them around is cheap in resources.
- </description>
- <tutorials>
- <link title="GDScript format strings">https://docs.godotengine.org/en/latest/tutorials/scripting/gdscript/gdscript_format_string.html</link>
- </tutorials>
- <constructors>
- <constructor name="String">
- <return type="String" />
- <description>
- Constructs an empty [String] ([code]""[/code]).
- </description>
- </constructor>
- <constructor name="String">
- <return type="String" />
- <argument index="0" name="from" type="String" />
- <description>
- Constructs a [String] as a copy of the given [String].
- </description>
- </constructor>
- <constructor name="String">
- <return type="String" />
- <argument index="0" name="from" type="NodePath" />
- <description>
- Constructs a new String from the given [NodePath].
- </description>
- </constructor>
- <constructor name="String">
- <return type="String" />
- <argument index="0" name="from" type="StringName" />
- <description>
- Constructs a new String from the given [StringName].
- </description>
- </constructor>
- </constructors>
- <methods>
- <method name="begins_with" qualifiers="const">
- <return type="bool" />
- <argument index="0" name="text" type="String" />
- <description>
- Returns [code]true[/code] if the string begins with the given string.
- </description>
- </method>
- <method name="bigrams" qualifiers="const">
- <return type="PackedStringArray" />
- <description>
- Returns the bigrams (pairs of consecutive letters) of this string.
- </description>
- </method>
- <method name="bin_to_int" qualifiers="const">
- <return type="int" />
- <description>
- Converts a string containing a binary number into an integer. Binary strings can either be prefixed with [code]0b[/code] or not, and they can also start with a [code]-[/code] before the optional prefix.
- [codeblocks]
- [gdscript]
- print("0b101".bin_to_int()) # Prints "5".
- print("101".bin_to_int()) # Prints "5".
- [/gdscript]
- [csharp]
- GD.Print("0b101".BinToInt()); // Prints "5".
- GD.Print("101".BinToInt()); // Prints "5".
- [/csharp]
- [/codeblocks]
- </description>
- </method>
- <method name="c_escape" qualifiers="const">
- <return type="String" />
- <description>
- Returns a copy of the string with special characters escaped using the C language standard.
- </description>
- </method>
- <method name="c_unescape" qualifiers="const">
- <return type="String" />
- <description>
- Returns a copy of the string with escaped characters replaced by their meanings. Supported escape sequences are [code]\'[/code], [code]\"[/code], [code]\?[/code], [code]\\[/code], [code]\a[/code], [code]\b[/code], [code]\f[/code], [code]\n[/code], [code]\r[/code], [code]\t[/code], [code]\v[/code].
- [b]Note:[/b] Unlike the GDScript parser, this method doesn't support the [code]\uXXXX[/code] escape sequence.
- </description>
- </method>
- <method name="capitalize" qualifiers="const">
- <return type="String" />
- <description>
- Changes the case of some letters. Replaces underscores with spaces, adds spaces before in-word uppercase characters, converts all letters to lowercase, then capitalizes the first letter and every letter following a space character. For [code]capitalize camelCase mixed_with_underscores[/code], it will return [code]Capitalize Camel Case Mixed With Underscores[/code].
- </description>
- </method>
- <method name="casecmp_to" qualifiers="const">
- <return type="int" />
- <argument index="0" name="to" type="String" />
- <description>
- Performs a case-sensitive comparison to another string. Returns [code]-1[/code] if less than, [code]1[/code] if greater than, or [code]0[/code] if equal. "less than" or "greater than" are determined by the [url=https://en.wikipedia.org/wiki/List_of_Unicode_characters]Unicode code points[/url] of each string, which roughly matches the alphabetical order.
- [b]Behavior with different string lengths:[/b] Returns [code]1[/code] if the "base" string is longer than the [code]to[/code] string or [code]-1[/code] if the "base" string is shorter than the [code]to[/code] string. Keep in mind this length is determined by the number of Unicode codepoints, [i]not[/i] the actual visible characters.
- [b]Behavior with empty strings:[/b] Returns [code]-1[/code] if the "base" string is empty, [code]1[/code] if the [code]to[/code] string is empty or [code]0[/code] if both strings are empty.
- To get a boolean result from a string comparison, use the [code]==[/code] operator instead. See also [method nocasecmp_to] and [method naturalnocasecmp_to].
- </description>
- </method>
- <method name="chr" qualifiers="static">
- <return type="String" />
- <argument index="0" name="char" type="int" />
- <description>
- </description>
- </method>
- <method name="count" qualifiers="const">
- <return type="int" />
- <argument index="0" name="what" type="String" />
- <argument index="1" name="from" type="int" default="0" />
- <argument index="2" name="to" type="int" default="0" />
- <description>
- Returns the number of occurrences of substring [code]what[/code] between [code]from[/code] and [code]to[/code] positions. If [code]from[/code] and [code]to[/code] equals 0 the whole string will be used. If only [code]to[/code] equals 0 the remained substring will be used.
- </description>
- </method>
- <method name="countn" qualifiers="const">
- <return type="int" />
- <argument index="0" name="what" type="String" />
- <argument index="1" name="from" type="int" default="0" />
- <argument index="2" name="to" type="int" default="0" />
- <description>
- Returns the number of occurrences of substring [code]what[/code] (ignoring case) between [code]from[/code] and [code]to[/code] positions. If [code]from[/code] and [code]to[/code] equals 0 the whole string will be used. If only [code]to[/code] equals 0 the remained substring will be used.
- </description>
- </method>
- <method name="dedent" qualifiers="const">
- <return type="String" />
- <description>
- Returns a copy of the string with indentation (leading tabs and spaces) removed.
- </description>
- </method>
- <method name="ends_with" qualifiers="const">
- <return type="bool" />
- <argument index="0" name="text" type="String" />
- <description>
- Returns [code]true[/code] if the string ends with the given string.
- </description>
- </method>
- <method name="find" qualifiers="const">
- <return type="int" />
- <argument index="0" name="what" type="String" />
- <argument index="1" name="from" type="int" default="0" />
- <description>
- Returns the index of the [b]first[/b] case-sensitive occurrence of the specified string in this instance, or [code]-1[/code]. Optionally, the starting search index can be specified, continuing to the end of the string.
- [b]Note:[/b] If you just want to know whether a string contains a substring, use the [code]in[/code] operator as follows:
- [codeblocks]
- [gdscript]
- print("i" in "team") # Will print `false`.
- [/gdscript]
- [csharp]
- // C# has no in operator, but we can use `Contains()`.
- GD.Print("team".Contains("i")); // Will print `false`.
- [/csharp]
- [/codeblocks]
- </description>
- </method>
- <method name="findn" qualifiers="const">
- <return type="int" />
- <argument index="0" name="what" type="String" />
- <argument index="1" name="from" type="int" default="0" />
- <description>
- Returns the index of the [b]first[/b] case-insensitive occurrence of the specified string in this instance, or [code]-1[/code]. Optionally, the starting search index can be specified, continuing to the end of the string.
- </description>
- </method>
- <method name="format" qualifiers="const">
- <return type="String" />
- <argument index="0" name="values" type="Variant" />
- <argument index="1" name="placeholder" type="String" default=""{_}"" />
- <description>
- Formats the string by replacing all occurrences of [code]placeholder[/code] with [code]values[/code].
- </description>
- </method>
- <method name="get_base_dir" qualifiers="const">
- <return type="String" />
- <description>
- If the string is a valid file path, returns the base directory name.
- </description>
- </method>
- <method name="get_basename" qualifiers="const">
- <return type="String" />
- <description>
- If the string is a valid file path, returns the full file path without the extension.
- </description>
- </method>
- <method name="get_extension" qualifiers="const">
- <return type="String" />
- <description>
- Returns the extension without the leading period character ([code].[/code]) if the string is a valid file name or path. If the string does not contain an extension, returns an empty string instead.
- [codeblock]
- print("/path/to/file.txt".get_extension()) # "txt"
- print("file.txt".get_extension()) # "txt"
- print("file.sample.txt".get_extension()) # "txt"
- print(".txt".get_extension()) # "txt"
- print("file.txt.".get_extension()) # "" (empty string)
- print("file.txt..".get_extension()) # "" (empty string)
- print("txt".get_extension()) # "" (empty string)
- print("".get_extension()) # "" (empty string)
- [/codeblock]
- </description>
- </method>
- <method name="get_file" qualifiers="const">
- <return type="String" />
- <description>
- If the string is a valid file path, returns the filename.
- </description>
- </method>
- <method name="get_slice" qualifiers="const">
- <return type="String" />
- <argument index="0" name="delimiter" type="String" />
- <argument index="1" name="slice" type="int" />
- <description>
- Splits a string using a [code]delimiter[/code] and returns a substring at index [code]slice[/code]. Returns an empty string if the index doesn't exist.
- This is a more performant alternative to [method split] for cases when you need only one element from the array at a fixed index.
- Example:
- [codeblock]
- print("i/am/example/string".get_slice("/", 2)) # Prints 'example'.
- [/codeblock]
- </description>
- </method>
- <method name="hash" qualifiers="const">
- <return type="int" />
- <description>
- Hashes the string and returns a 32-bit integer.
- </description>
- </method>
- <method name="hex_to_int" qualifiers="const">
- <return type="int" />
- <description>
- Converts a string containing a hexadecimal number into an integer. Hexadecimal strings can either be prefixed with [code]0x[/code] or not, and they can also start with a [code]-[/code] before the optional prefix.
- [codeblocks]
- [gdscript]
- print("0xff".hex_to_int()) # Prints "255".
- print("ab".hex_to_int()) # Prints "171".
- [/gdscript]
- [csharp]
- GD.Print("0xff".HexToInt()); // Prints "255".
- GD.Print("ab".HexToInt()); // Prints "171".
- [/csharp]
- [/codeblocks]
- </description>
- </method>
- <method name="humanize_size" qualifiers="static">
- <return type="String" />
- <argument index="0" name="size" type="int" />
- <description>
- </description>
- </method>
- <method name="insert" qualifiers="const">
- <return type="String" />
- <argument index="0" name="position" type="int" />
- <argument index="1" name="what" type="String" />
- <description>
- Returns a copy of the string with the substring [code]what[/code] inserted at the given position.
- </description>
- </method>
- <method name="is_absolute_path" qualifiers="const">
- <return type="bool" />
- <description>
- Returns [code]true[/code] if the string is a path to a file or directory and its starting point is explicitly defined. This includes [code]res://[/code], [code]user://[/code], [code]C:\[/code], [code]/[/code], etc.
- </description>
- </method>
- <method name="is_empty" qualifiers="const">
- <return type="bool" />
- <description>
- Returns [code]true[/code] if the length of the string equals [code]0[/code].
- </description>
- </method>
- <method name="is_relative_path" qualifiers="const">
- <return type="bool" />
- <description>
- Returns [code]true[/code] if the string is a path to a file or directory and its starting point is implicitly defined within the context it is being used. The starting point may refer to the current directory ([code]./[/code]), or the current [Node].
- </description>
- </method>
- <method name="is_subsequence_of" qualifiers="const">
- <return type="bool" />
- <argument index="0" name="text" type="String" />
- <description>
- Returns [code]true[/code] if this string is a subsequence of the given string.
- </description>
- </method>
- <method name="is_subsequence_ofi" qualifiers="const">
- <return type="bool" />
- <argument index="0" name="text" type="String" />
- <description>
- Returns [code]true[/code] if this string is a subsequence of the given string, without considering case.
- </description>
- </method>
- <method name="is_valid_filename" qualifiers="const">
- <return type="bool" />
- <description>
- Returns [code]true[/code] if this string is free from characters that aren't allowed in file names, those being:
- [code]: / \ ? * " | % < >[/code]
- </description>
- </method>
- <method name="is_valid_float" qualifiers="const">
- <return type="bool" />
- <description>
- Returns [code]true[/code] if this string contains a valid float.
- </description>
- </method>
- <method name="is_valid_hex_number" qualifiers="const">
- <return type="bool" />
- <argument index="0" name="with_prefix" type="bool" default="false" />
- <description>
- Returns [code]true[/code] if this string contains a valid hexadecimal number. If [code]with_prefix[/code] is [code]true[/code], then a validity of the hexadecimal number is determined by [code]0x[/code] prefix, for instance: [code]0xDEADC0DE[/code].
- </description>
- </method>
- <method name="is_valid_html_color" qualifiers="const">
- <return type="bool" />
- <description>
- Returns [code]true[/code] if this string contains a valid color in hexadecimal HTML notation. Other HTML notations such as named colors or [code]hsl()[/code] colors aren't considered valid by this method and will return [code]false[/code].
- </description>
- </method>
- <method name="is_valid_identifier" qualifiers="const">
- <return type="bool" />
- <description>
- Returns [code]true[/code] if this string is a valid identifier. A valid identifier may contain only letters, digits and underscores ([code]_[/code]) and the first character may not be a digit.
- </description>
- </method>
- <method name="is_valid_int" qualifiers="const">
- <return type="bool" />
- <description>
- Returns [code]true[/code] if this string contains a valid integer.
- </description>
- </method>
- <method name="is_valid_ip_address" qualifiers="const">
- <return type="bool" />
- <description>
- Returns [code]true[/code] if this string contains only a well-formatted IPv4 or IPv6 address. This method considers [url=https://en.wikipedia.org/wiki/Reserved_IP_addresses]reserved IP addresses[/url] such as [code]0.0.0.0[/code] as valid.
- </description>
- </method>
- <method name="join" qualifiers="const">
- <return type="String" />
- <argument index="0" name="parts" type="PackedStringArray" />
- <description>
- Return a [String] which is the concatenation of the [code]parts[/code]. The separator between elements is the string providing this method.
- Example:
- [codeblocks]
- [gdscript]
- print(", ".join(["One", "Two", "Three", "Four"]))
- [/gdscript]
- [csharp]
- GD.Print(String.Join(",", new string[] {"One", "Two", "Three", "Four"}));
- [/csharp]
- [/codeblocks]
- </description>
- </method>
- <method name="json_escape" qualifiers="const">
- <return type="String" />
- <description>
- Returns a copy of the string with special characters escaped using the JSON standard.
- </description>
- </method>
- <method name="left" qualifiers="const">
- <return type="String" />
- <argument index="0" name="position" type="int" />
- <description>
- Returns a number of characters from the left of the string. If negative [code]position[/code] is used, the characters are counted downwards from [String]'s length.
- Examples:
- [codeblock]
- print("sample text".left(3)) #prints "sam"
- print("sample text".left(-3)) #prints "sample t"
- [/codeblock]
- </description>
- </method>
- <method name="length" qualifiers="const">
- <return type="int" />
- <description>
- Returns the string's amount of characters.
- </description>
- </method>
- <method name="lpad" qualifiers="const">
- <return type="String" />
- <argument index="0" name="min_length" type="int" />
- <argument index="1" name="character" type="String" default="" "" />
- <description>
- Formats a string to be at least [code]min_length[/code] long by adding [code]character[/code]s to the left of the string.
- </description>
- </method>
- <method name="lstrip" qualifiers="const">
- <return type="String" />
- <argument index="0" name="chars" type="String" />
- <description>
- Returns a copy of the string with characters removed from the left. The [code]chars[/code] argument is a string specifying the set of characters to be removed.
- [b]Note:[/b] The [code]chars[/code] is not a prefix. See [method trim_prefix] method that will remove a single prefix string rather than a set of characters.
- </description>
- </method>
- <method name="match" qualifiers="const">
- <return type="bool" />
- <argument index="0" name="expr" type="String" />
- <description>
- Does a simple case-sensitive expression match, where [code]"*"[/code] matches zero or more arbitrary characters and [code]"?"[/code] matches any single character except a period ([code]"."[/code]).
- </description>
- </method>
- <method name="matchn" qualifiers="const">
- <return type="bool" />
- <argument index="0" name="expr" type="String" />
- <description>
- Does a simple case-insensitive expression match, where [code]"*"[/code] matches zero or more arbitrary characters and [code]"?"[/code] matches any single character except a period ([code]"."[/code]).
- </description>
- </method>
- <method name="md5_buffer" qualifiers="const">
- <return type="PackedByteArray" />
- <description>
- Returns the MD5 hash of the string as an array of bytes.
- </description>
- </method>
- <method name="md5_text" qualifiers="const">
- <return type="String" />
- <description>
- Returns the MD5 hash of the string as a string.
- </description>
- </method>
- <method name="naturalnocasecmp_to" qualifiers="const">
- <return type="int" />
- <argument index="0" name="to" type="String" />
- <description>
- Performs a case-insensitive [i]natural order[/i] comparison to another string. Returns [code]-1[/code] if less than, [code]1[/code] if greater than, or [code]0[/code] if equal. "less than" or "greater than" are determined by the [url=https://en.wikipedia.org/wiki/List_of_Unicode_characters]Unicode code points[/url] of each string, which roughly matches the alphabetical order. Internally, lowercase characters will be converted to uppercase during the comparison.
- When used for sorting, natural order comparison will order suites of numbers as expected by most people. If you sort the numbers from 1 to 10 using natural order, you will get [code][1, 2, 3, ...][/code] instead of [code][1, 10, 2, 3, ...][/code].
- [b]Behavior with different string lengths:[/b] Returns [code]1[/code] if the "base" string is longer than the [code]to[/code] string or [code]-1[/code] if the "base" string is shorter than the [code]to[/code] string. Keep in mind this length is determined by the number of Unicode codepoints, [i]not[/i] the actual visible characters.
- [b]Behavior with empty strings:[/b] Returns [code]-1[/code] if the "base" string is empty, [code]1[/code] if the [code]to[/code] string is empty or [code]0[/code] if both strings are empty.
- To get a boolean result from a string comparison, use the [code]==[/code] operator instead. See also [method nocasecmp_to] and [method casecmp_to].
- </description>
- </method>
- <method name="nocasecmp_to" qualifiers="const">
- <return type="int" />
- <argument index="0" name="to" type="String" />
- <description>
- Performs a case-insensitive comparison to another string. Returns [code]-1[/code] if less than, [code]1[/code] if greater than, or [code]0[/code] if equal. "less than" or "greater than" are determined by the [url=https://en.wikipedia.org/wiki/List_of_Unicode_characters]Unicode code points[/url] of each string, which roughly matches the alphabetical order. Internally, lowercase characters will be converted to uppercase during the comparison.
- [b]Behavior with different string lengths:[/b] Returns [code]1[/code] if the "base" string is longer than the [code]to[/code] string or [code]-1[/code] if the "base" string is shorter than the [code]to[/code] string. Keep in mind this length is determined by the number of Unicode codepoints, [i]not[/i] the actual visible characters.
- [b]Behavior with empty strings:[/b] Returns [code]-1[/code] if the "base" string is empty, [code]1[/code] if the [code]to[/code] string is empty or [code]0[/code] if both strings are empty.
- To get a boolean result from a string comparison, use the [code]==[/code] operator instead. See also [method casecmp_to] and [method naturalnocasecmp_to].
- </description>
- </method>
- <method name="num" qualifiers="static">
- <return type="String" />
- <argument index="0" name="number" type="float" />
- <argument index="1" name="decimals" type="int" default="-1" />
- <description>
- Converts a [float] to a string representation of a decimal number.
- The number of decimal places can be specified with [code]decimals[/code]. If [code]decimals[/code] is [code]-1[/code] (default), decimal places will be automatically adjusted so that the string representation has 14 significant digits (counting both digits to the left and the right of the decimal point).
- Trailing zeros are not included in the string. The last digit will be rounded and not truncated.
- Some examples:
- [codeblock]
- String.num(3.141593) # "3.141593"
- String.num(3.141593, 3) # "3.142"
- String.num(3.14159300) # "3.141593", no trailing zeros.
- # Last digit will be rounded up here, which reduces total digit count since
- # trailing zeros are removed:
- String.num(42.129999, 5) # "42.13"
- # If `decimals` is not specified, the total amount of significant digits is 14:
- String.num(-0.0000012345432123454321) # "-0.00000123454321"
- String.num(-10000.0000012345432123454321) # "-10000.0000012345"
- [/codeblock]
- </description>
- </method>
- <method name="num_scientific" qualifiers="static">
- <return type="String" />
- <argument index="0" name="number" type="float" />
- <description>
- </description>
- </method>
- <method name="pad_decimals" qualifiers="const">
- <return type="String" />
- <argument index="0" name="digits" type="int" />
- <description>
- Formats a number to have an exact number of [code]digits[/code] after the decimal point.
- </description>
- </method>
- <method name="pad_zeros" qualifiers="const">
- <return type="String" />
- <argument index="0" name="digits" type="int" />
- <description>
- Formats a number to have an exact number of [code]digits[/code] before the decimal point.
- </description>
- </method>
- <method name="plus_file" qualifiers="const">
- <return type="String" />
- <argument index="0" name="file" type="String" />
- <description>
- If the string is a path, this concatenates [code]file[/code] at the end of the string as a subpath. E.g. [code]"this/is".plus_file("path") == "this/is/path"[/code].
- </description>
- </method>
- <method name="repeat" qualifiers="const">
- <return type="String" />
- <argument index="0" name="count" type="int" />
- <description>
- Returns original string repeated a number of times. The number of repetitions is given by the argument.
- </description>
- </method>
- <method name="replace" qualifiers="const">
- <return type="String" />
- <argument index="0" name="what" type="String" />
- <argument index="1" name="forwhat" type="String" />
- <description>
- Replaces occurrences of a case-sensitive substring with the given one inside the string.
- </description>
- </method>
- <method name="replacen" qualifiers="const">
- <return type="String" />
- <argument index="0" name="what" type="String" />
- <argument index="1" name="forwhat" type="String" />
- <description>
- Replaces occurrences of a case-insensitive substring with the given one inside the string.
- </description>
- </method>
- <method name="rfind" qualifiers="const">
- <return type="int" />
- <argument index="0" name="what" type="String" />
- <argument index="1" name="from" type="int" default="-1" />
- <description>
- Returns the index of the [b]last[/b] case-sensitive occurrence of the specified string in this instance, or [code]-1[/code]. Optionally, the starting search index can be specified, continuing to the beginning of the string.
- </description>
- </method>
- <method name="rfindn" qualifiers="const">
- <return type="int" />
- <argument index="0" name="what" type="String" />
- <argument index="1" name="from" type="int" default="-1" />
- <description>
- Returns the index of the [b]last[/b] case-insensitive occurrence of the specified string in this instance, or [code]-1[/code]. Optionally, the starting search index can be specified, continuing to the beginning of the string.
- </description>
- </method>
- <method name="right" qualifiers="const">
- <return type="String" />
- <argument index="0" name="position" type="int" />
- <description>
- Returns a number of characters from the right of the string. If negative [code]position[/code] is used, the characters are counted downwards from [String]'s length.
- Examples:
- [codeblock]
- print("sample text".right(3)) #prints "ext"
- print("sample text".right(-3)) #prints "ple text"
- [/codeblock]
- </description>
- </method>
- <method name="rpad" qualifiers="const">
- <return type="String" />
- <argument index="0" name="min_length" type="int" />
- <argument index="1" name="character" type="String" default="" "" />
- <description>
- Formats a string to be at least [code]min_length[/code] long by adding [code]character[/code]s to the right of the string.
- </description>
- </method>
- <method name="rsplit" qualifiers="const">
- <return type="PackedStringArray" />
- <argument index="0" name="delimiter" type="String" />
- <argument index="1" name="allow_empty" type="bool" default="true" />
- <argument index="2" name="maxsplit" type="int" default="0" />
- <description>
- Splits the string by a [code]delimiter[/code] string and returns an array of the substrings, starting from right.
- The splits in the returned array are sorted in the same order as the original string, from left to right.
- If [code]maxsplit[/code] is specified, it defines the number of splits to do from the right up to [code]maxsplit[/code]. The default value of 0 means that all items are split, thus giving the same result as [method split].
- Example:
- [codeblocks]
- [gdscript]
- var some_string = "One,Two,Three,Four"
- var some_array = some_string.rsplit(",", true, 1)
- print(some_array.size()) # Prints 2
- print(some_array[0]) # Prints "Four"
- print(some_array[1]) # Prints "Three,Two,One"
- [/gdscript]
- [csharp]
- // There is no Rsplit.
- [/csharp]
- [/codeblocks]
- </description>
- </method>
- <method name="rstrip" qualifiers="const">
- <return type="String" />
- <argument index="0" name="chars" type="String" />
- <description>
- Returns a copy of the string with characters removed from the right. The [code]chars[/code] argument is a string specifying the set of characters to be removed.
- [b]Note:[/b] The [code]chars[/code] is not a suffix. See [method trim_suffix] method that will remove a single suffix string rather than a set of characters.
- </description>
- </method>
- <method name="sha1_buffer" qualifiers="const">
- <return type="PackedByteArray" />
- <description>
- Returns the SHA-1 hash of the string as an array of bytes.
- </description>
- </method>
- <method name="sha1_text" qualifiers="const">
- <return type="String" />
- <description>
- Returns the SHA-1 hash of the string as a string.
- </description>
- </method>
- <method name="sha256_buffer" qualifiers="const">
- <return type="PackedByteArray" />
- <description>
- Returns the SHA-256 hash of the string as an array of bytes.
- </description>
- </method>
- <method name="sha256_text" qualifiers="const">
- <return type="String" />
- <description>
- Returns the SHA-256 hash of the string as a string.
- </description>
- </method>
- <method name="similarity" qualifiers="const">
- <return type="float" />
- <argument index="0" name="text" type="String" />
- <description>
- Returns the similarity index of the text compared to this string. 1 means totally similar and 0 means totally dissimilar.
- </description>
- </method>
- <method name="simplify_path" qualifiers="const">
- <return type="String" />
- <description>
- Returns a simplified canonical path.
- </description>
- </method>
- <method name="split" qualifiers="const">
- <return type="PackedStringArray" />
- <argument index="0" name="delimiter" type="String" />
- <argument index="1" name="allow_empty" type="bool" default="true" />
- <argument index="2" name="maxsplit" type="int" default="0" />
- <description>
- Splits the string by a [code]delimiter[/code] string and returns an array of the substrings. The [code]delimiter[/code] can be of any length.
- If [code]maxsplit[/code] is specified, it defines the number of splits to do from the left up to [code]maxsplit[/code]. The default value of [code]0[/code] means that all items are split.
- If you need only one element from the array at a specific index, [method get_slice] is a more performant option.
- Example:
- [codeblocks]
- [gdscript]
- var some_string = "One,Two,Three,Four"
- var some_array = some_string.split(",", true, 1)
- print(some_array.size()) # Prints 2
- print(some_array[0]) # Prints "Four"
- print(some_array[1]) # Prints "Three,Two,One"
- [/gdscript]
- [csharp]
- var someString = "One,Two,Three,Four";
- var someArray = someString.Split(",", true); // This is as close as it gets to Godots API.
- GD.Print(someArray[0]); // Prints "Four"
- GD.Print(someArray[1]); // Prints "Three,Two,One"
- [/csharp]
- [/codeblocks]
- If you need to split strings with more complex rules, use the [RegEx] class instead.
- </description>
- </method>
- <method name="split_floats" qualifiers="const">
- <return type="PackedFloat32Array" />
- <argument index="0" name="delimiter" type="String" />
- <argument index="1" name="allow_empty" type="bool" default="true" />
- <description>
- Splits the string in floats by using a delimiter string and returns an array of the substrings.
- For example, [code]"1,2.5,3"[/code] will return [code][1,2.5,3][/code] if split by [code]","[/code].
- </description>
- </method>
- <method name="strip_edges" qualifiers="const">
- <return type="String" />
- <argument index="0" name="left" type="bool" default="true" />
- <argument index="1" name="right" type="bool" default="true" />
- <description>
- Returns a copy of the string stripped of any non-printable character (including tabulations, spaces and line breaks) at the beginning and the end. The optional arguments are used to toggle stripping on the left and right edges respectively.
- </description>
- </method>
- <method name="strip_escapes" qualifiers="const">
- <return type="String" />
- <description>
- Returns a copy of the string stripped of any escape character. These include all non-printable control characters of the first page of the ASCII table (< 32), such as tabulation ([code]\t[/code] in C) and newline ([code]\n[/code] and [code]\r[/code]) characters, but not spaces.
- </description>
- </method>
- <method name="substr" qualifiers="const">
- <return type="String" />
- <argument index="0" name="from" type="int" />
- <argument index="1" name="len" type="int" default="-1" />
- <description>
- Returns part of the string from the position [code]from[/code] with length [code]len[/code]. Argument [code]len[/code] is optional and using [code]-1[/code] will return remaining characters from given position.
- </description>
- </method>
- <method name="to_ascii_buffer" qualifiers="const">
- <return type="PackedByteArray" />
- <description>
- Converts the String (which is a character array) to ASCII/Latin-1 encoded [PackedByteArray] (which is an array of bytes). The conversion is faster compared to [method to_utf8_buffer], as this method assumes that all the characters in the String are ASCII/Latin-1 characters, unsupported characters are replaced with spaces.
- </description>
- </method>
- <method name="to_float" qualifiers="const">
- <return type="float" />
- <description>
- Converts a string containing a decimal number into a [code]float[/code].
- </description>
- </method>
- <method name="to_int" qualifiers="const">
- <return type="int" />
- <description>
- Converts a string containing an integer number into an [code]int[/code].
- </description>
- </method>
- <method name="to_lower" qualifiers="const">
- <return type="String" />
- <description>
- Returns the string converted to lowercase.
- </description>
- </method>
- <method name="to_upper" qualifiers="const">
- <return type="String" />
- <description>
- Returns the string converted to uppercase.
- </description>
- </method>
- <method name="to_utf16_buffer" qualifiers="const">
- <return type="PackedByteArray" />
- <description>
- Converts the String (which is an array of characters) to UTF-16 encoded [PackedByteArray] (which is an array of bytes).
- </description>
- </method>
- <method name="to_utf32_buffer" qualifiers="const">
- <return type="PackedByteArray" />
- <description>
- Converts the String (which is an array of characters) to UTF-32 encoded [PackedByteArray] (which is an array of bytes).
- </description>
- </method>
- <method name="to_utf8_buffer" qualifiers="const">
- <return type="PackedByteArray" />
- <description>
- Converts the String (which is an array of characters) to UTF-8 encode [PackedByteArray] (which is an array of bytes). The conversion is a bit slower than [method to_ascii_buffer], but supports all UTF-8 characters. Therefore, you should prefer this function over [method to_ascii_buffer].
- </description>
- </method>
- <method name="trim_prefix" qualifiers="const">
- <return type="String" />
- <argument index="0" name="prefix" type="String" />
- <description>
- Removes a given string from the start if it starts with it or leaves the string unchanged.
- </description>
- </method>
- <method name="trim_suffix" qualifiers="const">
- <return type="String" />
- <argument index="0" name="suffix" type="String" />
- <description>
- Removes a given string from the end if it ends with it or leaves the string unchanged.
- </description>
- </method>
- <method name="unicode_at" qualifiers="const">
- <return type="int" />
- <argument index="0" name="at" type="int" />
- <description>
- Returns the character code at position [code]at[/code].
- </description>
- </method>
- <method name="uri_decode" qualifiers="const">
- <return type="String" />
- <description>
- Decodes a string in URL encoded format. This is meant to decode parameters in a URL when receiving an HTTP request.
- [codeblocks]
- [gdscript]
- print("https://example.org/?escaped=" + "Godot%20Engine%3A%27docs%27".uri_decode())
- [/gdscript]
- [csharp]
- GD.Print("https://example.org/?escaped=" + "Godot%20Engine%3a%27Docs%27".URIDecode());
- [/csharp]
- [/codeblocks]
- </description>
- </method>
- <method name="uri_encode" qualifiers="const">
- <return type="String" />
- <description>
- Encodes a string to URL friendly format. This is meant to encode parameters in a URL when sending an HTTP request.
- [codeblocks]
- [gdscript]
- print("https://example.org/?escaped=" + "Godot Engine:'docs'".uri_encode())
- [/gdscript]
- [csharp]
- GD.Print("https://example.org/?escaped=" + "Godot Engine:'docs'".URIEncode());
- [/csharp]
- [/codeblocks]
- </description>
- </method>
- <method name="validate_node_name" qualifiers="const">
- <return type="String" />
- <description>
- Removes any characters from the string that are prohibited in [Node] names ([code].[/code] [code]:[/code] [code]@[/code] [code]/[/code] [code]"[/code]).
- </description>
- </method>
- <method name="xml_escape" qualifiers="const">
- <return type="String" />
- <argument index="0" name="escape_quotes" type="bool" default="false" />
- <description>
- Returns a copy of the string with special characters escaped using the XML standard. If [code]escape_quotes[/code] is [code]true[/code], the single quote ([code]'[/code]) and double quote ([code]"[/code]) characters are also escaped.
- </description>
- </method>
- <method name="xml_unescape" qualifiers="const">
- <return type="String" />
- <description>
- Returns a copy of the string with escaped characters replaced by their meanings according to the XML standard.
- </description>
- </method>
- </methods>
- <operators>
- <operator name="operator !=">
- <return type="bool" />
- <description>
- </description>
- </operator>
- <operator name="operator !=">
- <return type="bool" />
- <argument index="0" name="right" type="String" />
- <description>
- </description>
- </operator>
- <operator name="operator !=">
- <return type="bool" />
- <argument index="0" name="right" type="StringName" />
- <description>
- </description>
- </operator>
- <operator name="operator %">
- <return type="String" />
- <argument index="0" name="right" type="Variant" />
- <description>
- </description>
- </operator>
- <operator name="operator +">
- <return type="String" />
- <argument index="0" name="right" type="String" />
- <description>
- </description>
- </operator>
- <operator name="operator <">
- <return type="bool" />
- <argument index="0" name="right" type="String" />
- <description>
- </description>
- </operator>
- <operator name="operator <=">
- <return type="bool" />
- <argument index="0" name="right" type="String" />
- <description>
- </description>
- </operator>
- <operator name="operator ==">
- <return type="bool" />
- <description>
- </description>
- </operator>
- <operator name="operator ==">
- <return type="bool" />
- <argument index="0" name="right" type="String" />
- <description>
- </description>
- </operator>
- <operator name="operator ==">
- <return type="bool" />
- <argument index="0" name="right" type="StringName" />
- <description>
- </description>
- </operator>
- <operator name="operator >">
- <return type="bool" />
- <argument index="0" name="right" type="String" />
- <description>
- </description>
- </operator>
- <operator name="operator >=">
- <return type="bool" />
- <argument index="0" name="right" type="String" />
- <description>
- </description>
- </operator>
- <operator name="operator []">
- <return type="String" />
- <argument index="0" name="index" type="int" />
- <description>
- </description>
- </operator>
- </operators>
- </class>
|