123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960 |
- :github_url: hide
- .. Generated automatically by doc/tools/makerst.py in Godot's source tree.
- .. DO NOT EDIT THIS FILE, but the String.xml source instead.
- .. The source is found in doc/classes or modules/<name>/doc_classes.
- .. _class_String:
- String
- ======
- **Category:** Built-In Types
- Brief Description
- -----------------
- Built-in string class.
- Methods
- -------
- +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`String<class_String>` | :ref:`String<class_String_method_String>` **(** :ref:`bool<class_bool>` from **)** |
- +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`String<class_String>` | :ref:`String<class_String_method_String>` **(** :ref:`int<class_int>` from **)** |
- +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`String<class_String>` | :ref:`String<class_String_method_String>` **(** :ref:`float<class_float>` from **)** |
- +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`String<class_String>` | :ref:`String<class_String_method_String>` **(** :ref:`Vector2<class_Vector2>` from **)** |
- +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`String<class_String>` | :ref:`String<class_String_method_String>` **(** :ref:`Rect2<class_Rect2>` from **)** |
- +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`String<class_String>` | :ref:`String<class_String_method_String>` **(** :ref:`Vector3<class_Vector3>` from **)** |
- +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`String<class_String>` | :ref:`String<class_String_method_String>` **(** :ref:`Transform2D<class_Transform2D>` from **)** |
- +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`String<class_String>` | :ref:`String<class_String_method_String>` **(** :ref:`Plane<class_Plane>` from **)** |
- +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`String<class_String>` | :ref:`String<class_String_method_String>` **(** :ref:`Quat<class_Quat>` from **)** |
- +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`String<class_String>` | :ref:`String<class_String_method_String>` **(** :ref:`AABB<class_AABB>` from **)** |
- +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`String<class_String>` | :ref:`String<class_String_method_String>` **(** :ref:`Basis<class_Basis>` from **)** |
- +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`String<class_String>` | :ref:`String<class_String_method_String>` **(** :ref:`Transform<class_Transform>` from **)** |
- +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`String<class_String>` | :ref:`String<class_String_method_String>` **(** :ref:`Color<class_Color>` from **)** |
- +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`String<class_String>` | :ref:`String<class_String_method_String>` **(** :ref:`NodePath<class_NodePath>` from **)** |
- +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`String<class_String>` | :ref:`String<class_String_method_String>` **(** :ref:`RID<class_RID>` from **)** |
- +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`String<class_String>` | :ref:`String<class_String_method_String>` **(** :ref:`Dictionary<class_Dictionary>` from **)** |
- +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`String<class_String>` | :ref:`String<class_String_method_String>` **(** :ref:`Array<class_Array>` from **)** |
- +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`String<class_String>` | :ref:`String<class_String_method_String>` **(** :ref:`PoolByteArray<class_PoolByteArray>` from **)** |
- +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`String<class_String>` | :ref:`String<class_String_method_String>` **(** :ref:`PoolIntArray<class_PoolIntArray>` from **)** |
- +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`String<class_String>` | :ref:`String<class_String_method_String>` **(** :ref:`PoolRealArray<class_PoolRealArray>` from **)** |
- +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`String<class_String>` | :ref:`String<class_String_method_String>` **(** :ref:`PoolStringArray<class_PoolStringArray>` from **)** |
- +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`String<class_String>` | :ref:`String<class_String_method_String>` **(** :ref:`PoolVector2Array<class_PoolVector2Array>` from **)** |
- +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`String<class_String>` | :ref:`String<class_String_method_String>` **(** :ref:`PoolVector3Array<class_PoolVector3Array>` from **)** |
- +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`String<class_String>` | :ref:`String<class_String_method_String>` **(** :ref:`PoolColorArray<class_PoolColorArray>` from **)** |
- +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`bool<class_bool>` | :ref:`begins_with<class_String_method_begins_with>` **(** :ref:`String<class_String>` text **)** |
- +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`PoolStringArray<class_PoolStringArray>` | :ref:`bigrams<class_String_method_bigrams>` **(** **)** |
- +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`String<class_String>` | :ref:`c_escape<class_String_method_c_escape>` **(** **)** |
- +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`String<class_String>` | :ref:`c_unescape<class_String_method_c_unescape>` **(** **)** |
- +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`String<class_String>` | :ref:`capitalize<class_String_method_capitalize>` **(** **)** |
- +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`int<class_int>` | :ref:`casecmp_to<class_String_method_casecmp_to>` **(** :ref:`String<class_String>` to **)** |
- +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`String<class_String>` | :ref:`dedent<class_String_method_dedent>` **(** **)** |
- +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`bool<class_bool>` | :ref:`empty<class_String_method_empty>` **(** **)** |
- +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`bool<class_bool>` | :ref:`ends_with<class_String_method_ends_with>` **(** :ref:`String<class_String>` text **)** |
- +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`erase<class_String_method_erase>` **(** :ref:`int<class_int>` position, :ref:`int<class_int>` chars **)** |
- +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`int<class_int>` | :ref:`find<class_String_method_find>` **(** :ref:`String<class_String>` what, :ref:`int<class_int>` from=0 **)** |
- +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`int<class_int>` | :ref:`find_last<class_String_method_find_last>` **(** :ref:`String<class_String>` what **)** |
- +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`int<class_int>` | :ref:`findn<class_String_method_findn>` **(** :ref:`String<class_String>` what, :ref:`int<class_int>` from=0 **)** |
- +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`String<class_String>` | :ref:`format<class_String_method_format>` **(** :ref:`Variant<class_Variant>` values, :ref:`String<class_String>` placeholder={_} **)** |
- +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`String<class_String>` | :ref:`get_base_dir<class_String_method_get_base_dir>` **(** **)** |
- +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`String<class_String>` | :ref:`get_basename<class_String_method_get_basename>` **(** **)** |
- +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`String<class_String>` | :ref:`get_extension<class_String_method_get_extension>` **(** **)** |
- +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`String<class_String>` | :ref:`get_file<class_String_method_get_file>` **(** **)** |
- +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`int<class_int>` | :ref:`hash<class_String_method_hash>` **(** **)** |
- +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`int<class_int>` | :ref:`hex_to_int<class_String_method_hex_to_int>` **(** **)** |
- +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`String<class_String>` | :ref:`insert<class_String_method_insert>` **(** :ref:`int<class_int>` position, :ref:`String<class_String>` what **)** |
- +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`bool<class_bool>` | :ref:`is_abs_path<class_String_method_is_abs_path>` **(** **)** |
- +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`bool<class_bool>` | :ref:`is_rel_path<class_String_method_is_rel_path>` **(** **)** |
- +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`bool<class_bool>` | :ref:`is_subsequence_of<class_String_method_is_subsequence_of>` **(** :ref:`String<class_String>` text **)** |
- +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`bool<class_bool>` | :ref:`is_subsequence_ofi<class_String_method_is_subsequence_ofi>` **(** :ref:`String<class_String>` text **)** |
- +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`bool<class_bool>` | :ref:`is_valid_float<class_String_method_is_valid_float>` **(** **)** |
- +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`bool<class_bool>` | :ref:`is_valid_hex_number<class_String_method_is_valid_hex_number>` **(** :ref:`bool<class_bool>` with_prefix=False **)** |
- +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`bool<class_bool>` | :ref:`is_valid_html_color<class_String_method_is_valid_html_color>` **(** **)** |
- +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`bool<class_bool>` | :ref:`is_valid_identifier<class_String_method_is_valid_identifier>` **(** **)** |
- +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`bool<class_bool>` | :ref:`is_valid_integer<class_String_method_is_valid_integer>` **(** **)** |
- +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`bool<class_bool>` | :ref:`is_valid_ip_address<class_String_method_is_valid_ip_address>` **(** **)** |
- +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`String<class_String>` | :ref:`json_escape<class_String_method_json_escape>` **(** **)** |
- +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`String<class_String>` | :ref:`left<class_String_method_left>` **(** :ref:`int<class_int>` position **)** |
- +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`int<class_int>` | :ref:`length<class_String_method_length>` **(** **)** |
- +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`String<class_String>` | :ref:`lstrip<class_String_method_lstrip>` **(** :ref:`String<class_String>` chars **)** |
- +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`bool<class_bool>` | :ref:`match<class_String_method_match>` **(** :ref:`String<class_String>` expr **)** |
- +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`bool<class_bool>` | :ref:`matchn<class_String_method_matchn>` **(** :ref:`String<class_String>` expr **)** |
- +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`PoolByteArray<class_PoolByteArray>` | :ref:`md5_buffer<class_String_method_md5_buffer>` **(** **)** |
- +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`String<class_String>` | :ref:`md5_text<class_String_method_md5_text>` **(** **)** |
- +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`int<class_int>` | :ref:`nocasecmp_to<class_String_method_nocasecmp_to>` **(** :ref:`String<class_String>` to **)** |
- +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`int<class_int>` | :ref:`ord_at<class_String_method_ord_at>` **(** :ref:`int<class_int>` at **)** |
- +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`String<class_String>` | :ref:`pad_decimals<class_String_method_pad_decimals>` **(** :ref:`int<class_int>` digits **)** |
- +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`String<class_String>` | :ref:`pad_zeros<class_String_method_pad_zeros>` **(** :ref:`int<class_int>` digits **)** |
- +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`String<class_String>` | :ref:`percent_decode<class_String_method_percent_decode>` **(** **)** |
- +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`String<class_String>` | :ref:`percent_encode<class_String_method_percent_encode>` **(** **)** |
- +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`String<class_String>` | :ref:`plus_file<class_String_method_plus_file>` **(** :ref:`String<class_String>` file **)** |
- +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`String<class_String>` | :ref:`replace<class_String_method_replace>` **(** :ref:`String<class_String>` what, :ref:`String<class_String>` forwhat **)** |
- +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`String<class_String>` | :ref:`replacen<class_String_method_replacen>` **(** :ref:`String<class_String>` what, :ref:`String<class_String>` forwhat **)** |
- +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`int<class_int>` | :ref:`rfind<class_String_method_rfind>` **(** :ref:`String<class_String>` what, :ref:`int<class_int>` from=-1 **)** |
- +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`int<class_int>` | :ref:`rfindn<class_String_method_rfindn>` **(** :ref:`String<class_String>` what, :ref:`int<class_int>` from=-1 **)** |
- +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`String<class_String>` | :ref:`right<class_String_method_right>` **(** :ref:`int<class_int>` position **)** |
- +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`PoolStringArray<class_PoolStringArray>` | :ref:`rsplit<class_String_method_rsplit>` **(** :ref:`String<class_String>` delimiter, :ref:`bool<class_bool>` allow_empty=True, :ref:`int<class_int>` maxsplit=0 **)** |
- +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`String<class_String>` | :ref:`rstrip<class_String_method_rstrip>` **(** :ref:`String<class_String>` chars **)** |
- +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`PoolByteArray<class_PoolByteArray>` | :ref:`sha256_buffer<class_String_method_sha256_buffer>` **(** **)** |
- +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`String<class_String>` | :ref:`sha256_text<class_String_method_sha256_text>` **(** **)** |
- +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`float<class_float>` | :ref:`similarity<class_String_method_similarity>` **(** :ref:`String<class_String>` text **)** |
- +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`PoolStringArray<class_PoolStringArray>` | :ref:`split<class_String_method_split>` **(** :ref:`String<class_String>` delimiter, :ref:`bool<class_bool>` allow_empty=True, :ref:`int<class_int>` maxsplit=0 **)** |
- +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`PoolRealArray<class_PoolRealArray>` | :ref:`split_floats<class_String_method_split_floats>` **(** :ref:`String<class_String>` delimiter, :ref:`bool<class_bool>` allow_empty=True **)** |
- +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`String<class_String>` | :ref:`strip_edges<class_String_method_strip_edges>` **(** :ref:`bool<class_bool>` left=True, :ref:`bool<class_bool>` right=True **)** |
- +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`String<class_String>` | :ref:`substr<class_String_method_substr>` **(** :ref:`int<class_int>` from, :ref:`int<class_int>` len **)** |
- +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`PoolByteArray<class_PoolByteArray>` | :ref:`to_ascii<class_String_method_to_ascii>` **(** **)** |
- +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`float<class_float>` | :ref:`to_float<class_String_method_to_float>` **(** **)** |
- +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`int<class_int>` | :ref:`to_int<class_String_method_to_int>` **(** **)** |
- +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`String<class_String>` | :ref:`to_lower<class_String_method_to_lower>` **(** **)** |
- +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`String<class_String>` | :ref:`to_upper<class_String_method_to_upper>` **(** **)** |
- +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`PoolByteArray<class_PoolByteArray>` | :ref:`to_utf8<class_String_method_to_utf8>` **(** **)** |
- +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`String<class_String>` | :ref:`trim_prefix<class_String_method_trim_prefix>` **(** :ref:`String<class_String>` prefix **)** |
- +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`String<class_String>` | :ref:`trim_suffix<class_String_method_trim_suffix>` **(** :ref:`String<class_String>` suffix **)** |
- +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`String<class_String>` | :ref:`xml_escape<class_String_method_xml_escape>` **(** **)** |
- +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`String<class_String>` | :ref:`xml_unescape<class_String_method_xml_unescape>` **(** **)** |
- +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- 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.
- Tutorials
- ---------
- - :doc:`../getting_started/scripting/gdscript/gdscript_format_string`
- Method Descriptions
- -------------------
- .. _class_String_method_String:
- - :ref:`String<class_String>` **String** **(** :ref:`bool<class_bool>` from **)**
- Constructs a new String from the given :ref:`bool<class_bool>`.
- ----
- - :ref:`String<class_String>` **String** **(** :ref:`int<class_int>` from **)**
- Constructs a new String from the given :ref:`int<class_int>`.
- ----
- - :ref:`String<class_String>` **String** **(** :ref:`float<class_float>` from **)**
- Constructs a new String from the given :ref:`float<class_float>`.
- ----
- - :ref:`String<class_String>` **String** **(** :ref:`Vector2<class_Vector2>` from **)**
- Constructs a new String from the given :ref:`Vector2<class_Vector2>`.
- ----
- - :ref:`String<class_String>` **String** **(** :ref:`Rect2<class_Rect2>` from **)**
- Constructs a new String from the given :ref:`Rect2<class_Rect2>`.
- ----
- - :ref:`String<class_String>` **String** **(** :ref:`Vector3<class_Vector3>` from **)**
- Constructs a new String from the given :ref:`Vector3<class_Vector3>`.
- ----
- - :ref:`String<class_String>` **String** **(** :ref:`Transform2D<class_Transform2D>` from **)**
- Constructs a new String from the given :ref:`Transform2D<class_Transform2D>`.
- ----
- - :ref:`String<class_String>` **String** **(** :ref:`Plane<class_Plane>` from **)**
- Constructs a new String from the given :ref:`Plane<class_Plane>`.
- ----
- - :ref:`String<class_String>` **String** **(** :ref:`Quat<class_Quat>` from **)**
- Constructs a new String from the given :ref:`Quat<class_Quat>`.
- ----
- - :ref:`String<class_String>` **String** **(** :ref:`AABB<class_AABB>` from **)**
- Constructs a new String from the given :ref:`AABB<class_AABB>`.
- ----
- - :ref:`String<class_String>` **String** **(** :ref:`Basis<class_Basis>` from **)**
- Constructs a new String from the given :ref:`Basis<class_Basis>`.
- ----
- - :ref:`String<class_String>` **String** **(** :ref:`Transform<class_Transform>` from **)**
- Constructs a new String from the given :ref:`Transform<class_Transform>`.
- ----
- - :ref:`String<class_String>` **String** **(** :ref:`Color<class_Color>` from **)**
- Constructs a new String from the given :ref:`Color<class_Color>`.
- ----
- - :ref:`String<class_String>` **String** **(** :ref:`NodePath<class_NodePath>` from **)**
- Constructs a new String from the given :ref:`NodePath<class_NodePath>`.
- ----
- - :ref:`String<class_String>` **String** **(** :ref:`RID<class_RID>` from **)**
- Constructs a new String from the given :ref:`RID<class_RID>`.
- ----
- - :ref:`String<class_String>` **String** **(** :ref:`Dictionary<class_Dictionary>` from **)**
- Constructs a new String from the given :ref:`Dictionary<class_Dictionary>`.
- ----
- - :ref:`String<class_String>` **String** **(** :ref:`Array<class_Array>` from **)**
- Constructs a new String from the given :ref:`Array<class_Array>`.
- ----
- - :ref:`String<class_String>` **String** **(** :ref:`PoolByteArray<class_PoolByteArray>` from **)**
- Constructs a new String from the given :ref:`PoolByteArray<class_PoolByteArray>`.
- ----
- - :ref:`String<class_String>` **String** **(** :ref:`PoolIntArray<class_PoolIntArray>` from **)**
- Constructs a new String from the given :ref:`PoolIntArray<class_PoolIntArray>`.
- ----
- - :ref:`String<class_String>` **String** **(** :ref:`PoolRealArray<class_PoolRealArray>` from **)**
- Constructs a new String from the given :ref:`PoolRealArray<class_PoolRealArray>`.
- ----
- - :ref:`String<class_String>` **String** **(** :ref:`PoolStringArray<class_PoolStringArray>` from **)**
- Constructs a new String from the given :ref:`PoolStringArray<class_PoolStringArray>`.
- ----
- - :ref:`String<class_String>` **String** **(** :ref:`PoolVector2Array<class_PoolVector2Array>` from **)**
- Constructs a new String from the given :ref:`PoolVector2Array<class_PoolVector2Array>`.
- ----
- - :ref:`String<class_String>` **String** **(** :ref:`PoolVector3Array<class_PoolVector3Array>` from **)**
- Constructs a new String from the given :ref:`PoolVector3Array<class_PoolVector3Array>`.
- ----
- - :ref:`String<class_String>` **String** **(** :ref:`PoolColorArray<class_PoolColorArray>` from **)**
- Constructs a new String from the given :ref:`PoolColorArray<class_PoolColorArray>`.
- ----
- .. _class_String_method_begins_with:
- - :ref:`bool<class_bool>` **begins_with** **(** :ref:`String<class_String>` text **)**
- Returns ``true`` if the string begins with the given string.
- ----
- .. _class_String_method_bigrams:
- - :ref:`PoolStringArray<class_PoolStringArray>` **bigrams** **(** **)**
- Returns the bigrams (pairs of consecutive letters) of this string.
- ----
- .. _class_String_method_c_escape:
- - :ref:`String<class_String>` **c_escape** **(** **)**
- Returns a copy of the string with special characters escaped using the C language standard.
- ----
- .. _class_String_method_c_unescape:
- - :ref:`String<class_String>` **c_unescape** **(** **)**
- Returns a copy of the string with escaped characters replaced by their meanings according to the C language standard.
- ----
- .. _class_String_method_capitalize:
- - :ref:`String<class_String>` **capitalize** **(** **)**
- Changes the case of some letters. Replaces underscores with spaces, converts all letters to lowercase, then capitalizes first and every letter following the space character. For ``capitalize camelCase mixed_with_underscores`` it will return ``Capitalize Camelcase Mixed With Underscores``.
- ----
- .. _class_String_method_casecmp_to:
- - :ref:`int<class_int>` **casecmp_to** **(** :ref:`String<class_String>` to **)**
- Performs a case-sensitive comparison to another string. Returns ``-1`` if less than, ``+1`` if greater than, or ``0`` if equal.
- ----
- .. _class_String_method_dedent:
- - :ref:`String<class_String>` **dedent** **(** **)**
- Removes indentation from string.
- ----
- .. _class_String_method_empty:
- - :ref:`bool<class_bool>` **empty** **(** **)**
- Returns ``true`` if the string is empty.
- ----
- .. _class_String_method_ends_with:
- - :ref:`bool<class_bool>` **ends_with** **(** :ref:`String<class_String>` text **)**
- Returns ``true`` if the string ends with the given string.
- ----
- .. _class_String_method_erase:
- - void **erase** **(** :ref:`int<class_int>` position, :ref:`int<class_int>` chars **)**
- Erases ``chars`` characters from the string starting from ``position``.
- ----
- .. _class_String_method_find:
- - :ref:`int<class_int>` **find** **(** :ref:`String<class_String>` what, :ref:`int<class_int>` from=0 **)**
- Finds the first occurrence of a substring. Returns the starting position of the substring or -1 if not found. Optionally, the initial search index can be passed.
- ----
- .. _class_String_method_find_last:
- - :ref:`int<class_int>` **find_last** **(** :ref:`String<class_String>` what **)**
- Finds the last occurrence of a substring. Returns the starting position of the substring or -1 if not found.
- ----
- .. _class_String_method_findn:
- - :ref:`int<class_int>` **findn** **(** :ref:`String<class_String>` what, :ref:`int<class_int>` from=0 **)**
- Finds the first occurrence of a substring, ignoring case. Returns the starting position of the substring or -1 if not found. Optionally, the initial search index can be passed.
- ----
- .. _class_String_method_format:
- - :ref:`String<class_String>` **format** **(** :ref:`Variant<class_Variant>` values, :ref:`String<class_String>` placeholder={_} **)**
- Formats the string by replacing all occurrences of ``placeholder`` with ``values``.
- ----
- .. _class_String_method_get_base_dir:
- - :ref:`String<class_String>` **get_base_dir** **(** **)**
- If the string is a valid file path, returns the base directory name.
- ----
- .. _class_String_method_get_basename:
- - :ref:`String<class_String>` **get_basename** **(** **)**
- If the string is a valid file path, returns the full file path without the extension.
- ----
- .. _class_String_method_get_extension:
- - :ref:`String<class_String>` **get_extension** **(** **)**
- If the string is a valid file path, returns the extension.
- ----
- .. _class_String_method_get_file:
- - :ref:`String<class_String>` **get_file** **(** **)**
- If the string is a valid file path, returns the filename.
- ----
- .. _class_String_method_hash:
- - :ref:`int<class_int>` **hash** **(** **)**
- Hashes the string and returns a 32-bit integer.
- ----
- .. _class_String_method_hex_to_int:
- - :ref:`int<class_int>` **hex_to_int** **(** **)**
- Converts a string containing a hexadecimal number into an integer. Hexadecimal strings are expected to be prefixed with "``0x``" otherwise ``0`` is returned.
- ::
- print("0xff".hex_to_int()) # Print "255"
- ----
- .. _class_String_method_insert:
- - :ref:`String<class_String>` **insert** **(** :ref:`int<class_int>` position, :ref:`String<class_String>` what **)**
- Inserts a substring at a given position.
- ----
- .. _class_String_method_is_abs_path:
- - :ref:`bool<class_bool>` **is_abs_path** **(** **)**
- If the string is a path to a file or directory, returns ``true`` if the path is absolute.
- ----
- .. _class_String_method_is_rel_path:
- - :ref:`bool<class_bool>` **is_rel_path** **(** **)**
- If the string is a path to a file or directory, returns ``true`` if the path is relative.
- ----
- .. _class_String_method_is_subsequence_of:
- - :ref:`bool<class_bool>` **is_subsequence_of** **(** :ref:`String<class_String>` text **)**
- Returns ``true`` if this string is a subsequence of the given string.
- ----
- .. _class_String_method_is_subsequence_ofi:
- - :ref:`bool<class_bool>` **is_subsequence_ofi** **(** :ref:`String<class_String>` text **)**
- Returns ``true`` if this string is a subsequence of the given string, without considering case.
- ----
- .. _class_String_method_is_valid_float:
- - :ref:`bool<class_bool>` **is_valid_float** **(** **)**
- Returns ``true`` if this string contains a valid float.
- ----
- .. _class_String_method_is_valid_hex_number:
- - :ref:`bool<class_bool>` **is_valid_hex_number** **(** :ref:`bool<class_bool>` with_prefix=False **)**
- Returns ``true`` if this string contains a valid hexadecimal number. If ``with_prefix`` is ``true``, then a validity of the hexadecimal number is determined by ``0x`` prefix, for instance: ``0xDEADC0DE``.
- ----
- .. _class_String_method_is_valid_html_color:
- - :ref:`bool<class_bool>` **is_valid_html_color** **(** **)**
- Returns ``true`` if this string contains a valid color in HTML notation.
- ----
- .. _class_String_method_is_valid_identifier:
- - :ref:`bool<class_bool>` **is_valid_identifier** **(** **)**
- Returns ``true`` if this string is a valid identifier. A valid identifier may contain only letters, digits and underscores (``_``) and the first character may not be a digit.
- ----
- .. _class_String_method_is_valid_integer:
- - :ref:`bool<class_bool>` **is_valid_integer** **(** **)**
- Returns ``true`` if this string contains a valid integer.
- ----
- .. _class_String_method_is_valid_ip_address:
- - :ref:`bool<class_bool>` **is_valid_ip_address** **(** **)**
- Returns ``true`` if this string contains a valid IP address.
- ----
- .. _class_String_method_json_escape:
- - :ref:`String<class_String>` **json_escape** **(** **)**
- Returns a copy of the string with special characters escaped using the JSON standard.
- ----
- .. _class_String_method_left:
- - :ref:`String<class_String>` **left** **(** :ref:`int<class_int>` position **)**
- Returns a number of characters from the left of the string.
- ----
- .. _class_String_method_length:
- - :ref:`int<class_int>` **length** **(** **)**
- Returns the string's amount of characters.
- ----
- .. _class_String_method_lstrip:
- - :ref:`String<class_String>` **lstrip** **(** :ref:`String<class_String>` chars **)**
- Returns a copy of the string with characters removed from the left.
- ----
- .. _class_String_method_match:
- - :ref:`bool<class_bool>` **match** **(** :ref:`String<class_String>` expr **)**
- Does a simple expression match, where ``*`` matches zero or more arbitrary characters and ``?`` matches any single character except '.'.
- ----
- .. _class_String_method_matchn:
- - :ref:`bool<class_bool>` **matchn** **(** :ref:`String<class_String>` expr **)**
- Does a simple case insensitive expression match, using ``?`` and ``*`` wildcards (see :ref:`match<class_String_method_match>`).
- ----
- .. _class_String_method_md5_buffer:
- - :ref:`PoolByteArray<class_PoolByteArray>` **md5_buffer** **(** **)**
- Returns the MD5 hash of the string as an array of bytes.
- ----
- .. _class_String_method_md5_text:
- - :ref:`String<class_String>` **md5_text** **(** **)**
- Returns the MD5 hash of the string as a string.
- ----
- .. _class_String_method_nocasecmp_to:
- - :ref:`int<class_int>` **nocasecmp_to** **(** :ref:`String<class_String>` to **)**
- Performs a case-insensitive comparison to another string. Returns ``-1`` if less than, ``+1`` if greater than, or ``0`` if equal.
- ----
- .. _class_String_method_ord_at:
- - :ref:`int<class_int>` **ord_at** **(** :ref:`int<class_int>` at **)**
- Returns the character code at position ``at``.
- ----
- .. _class_String_method_pad_decimals:
- - :ref:`String<class_String>` **pad_decimals** **(** :ref:`int<class_int>` digits **)**
- Formats a number to have an exact number of ``digits`` after the decimal point.
- ----
- .. _class_String_method_pad_zeros:
- - :ref:`String<class_String>` **pad_zeros** **(** :ref:`int<class_int>` digits **)**
- Formats a number to have an exact number of ``digits`` before the decimal point.
- ----
- .. _class_String_method_percent_decode:
- - :ref:`String<class_String>` **percent_decode** **(** **)**
- Decode a percent-encoded string. See :ref:`percent_encode<class_String_method_percent_encode>`.
- ----
- .. _class_String_method_percent_encode:
- - :ref:`String<class_String>` **percent_encode** **(** **)**
- Percent-encodes a string. Encodes parameters in a URL when sending a HTTP GET request (and bodies of form-urlencoded POST requests).
- ----
- .. _class_String_method_plus_file:
- - :ref:`String<class_String>` **plus_file** **(** :ref:`String<class_String>` file **)**
- If the string is a path, this concatenates ``file`` at the end of the string as a subpath. E.g. ``"this/is".plus_file("path") == "this/is/path"``.
- ----
- .. _class_String_method_replace:
- - :ref:`String<class_String>` **replace** **(** :ref:`String<class_String>` what, :ref:`String<class_String>` forwhat **)**
- Replaces occurrences of a substring with the given one inside the string.
- ----
- .. _class_String_method_replacen:
- - :ref:`String<class_String>` **replacen** **(** :ref:`String<class_String>` what, :ref:`String<class_String>` forwhat **)**
- Replaces occurrences of a substring with the given one inside the string. Ignores case.
- ----
- .. _class_String_method_rfind:
- - :ref:`int<class_int>` **rfind** **(** :ref:`String<class_String>` what, :ref:`int<class_int>` from=-1 **)**
- Performs a search for a substring, but starts from the end of the string instead of the beginning.
- ----
- .. _class_String_method_rfindn:
- - :ref:`int<class_int>` **rfindn** **(** :ref:`String<class_String>` what, :ref:`int<class_int>` from=-1 **)**
- Performs a search for a substring, but starts from the end of the string instead of the beginning. Ignores case.
- ----
- .. _class_String_method_right:
- - :ref:`String<class_String>` **right** **(** :ref:`int<class_int>` position **)**
- Returns the right side of the string from a given position.
- ----
- .. _class_String_method_rsplit:
- - :ref:`PoolStringArray<class_PoolStringArray>` **rsplit** **(** :ref:`String<class_String>` delimiter, :ref:`bool<class_bool>` allow_empty=True, :ref:`int<class_int>` maxsplit=0 **)**
- Splits the string by a ``delimiter`` 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 ``maxsplit`` is specified, it defines the number of splits to do from the right up to ``maxsplit``. The default value of 0 means that all items are split, thus giving the same result as :ref:`split<class_String_method_split>`.
- Example:
- ::
- 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"
- ----
- .. _class_String_method_rstrip:
- - :ref:`String<class_String>` **rstrip** **(** :ref:`String<class_String>` chars **)**
- Returns a copy of the string with characters removed from the right.
- ----
- .. _class_String_method_sha256_buffer:
- - :ref:`PoolByteArray<class_PoolByteArray>` **sha256_buffer** **(** **)**
- Returns the SHA-256 hash of the string as an array of bytes.
- ----
- .. _class_String_method_sha256_text:
- - :ref:`String<class_String>` **sha256_text** **(** **)**
- Returns the SHA-256 hash of the string as a string.
- ----
- .. _class_String_method_similarity:
- - :ref:`float<class_float>` **similarity** **(** :ref:`String<class_String>` text **)**
- Returns the similarity index of the text compared to this string. 1 means totally similar and 0 means totally dissimilar.
- ----
- .. _class_String_method_split:
- - :ref:`PoolStringArray<class_PoolStringArray>` **split** **(** :ref:`String<class_String>` delimiter, :ref:`bool<class_bool>` allow_empty=True, :ref:`int<class_int>` maxsplit=0 **)**
- Splits the string by a ``delimiter`` string and returns an array of the substrings.
- If ``maxsplit`` is specified, it defines the number of splits to do from the left up to ``maxsplit``. The default value of 0 means that all items are split.
- Example:
- ::
- 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 "One"
- print(some_array[1]) # Prints "Two,Three,Four"
- ----
- .. _class_String_method_split_floats:
- - :ref:`PoolRealArray<class_PoolRealArray>` **split_floats** **(** :ref:`String<class_String>` delimiter, :ref:`bool<class_bool>` allow_empty=True **)**
- Splits the string in floats by using a delimiter string and returns an array of the substrings.
- **Example:** ``"1,2.5,3"`` will return ``[1,2.5,3]`` if split by ``","``.
- ----
- .. _class_String_method_strip_edges:
- - :ref:`String<class_String>` **strip_edges** **(** :ref:`bool<class_bool>` left=True, :ref:`bool<class_bool>` right=True **)**
- Returns a copy of the string stripped of any non-printable character at the beginning and the end. The optional arguments are used to toggle stripping on the left and right edges respectively.
- ----
- .. _class_String_method_substr:
- - :ref:`String<class_String>` **substr** **(** :ref:`int<class_int>` from, :ref:`int<class_int>` len **)**
- Returns part of the string from the position ``from`` with length ``len``.
- ----
- .. _class_String_method_to_ascii:
- - :ref:`PoolByteArray<class_PoolByteArray>` **to_ascii** **(** **)**
- Converts the String (which is a character array) to :ref:`PoolByteArray<class_PoolByteArray>` (which is an array of bytes). The conversion is sped up in comparison to :ref:`to_utf8<class_String_method_to_utf8>` with the assumption that all the characters the String contains are only ASCII characters.
- ----
- .. _class_String_method_to_float:
- - :ref:`float<class_float>` **to_float** **(** **)**
- Converts a string containing a decimal number into a ``float``.
- ----
- .. _class_String_method_to_int:
- - :ref:`int<class_int>` **to_int** **(** **)**
- Converts a string containing an integer number into an ``int``.
- ----
- .. _class_String_method_to_lower:
- - :ref:`String<class_String>` **to_lower** **(** **)**
- Returns the string converted to lowercase.
- ----
- .. _class_String_method_to_upper:
- - :ref:`String<class_String>` **to_upper** **(** **)**
- Returns the string converted to uppercase.
- ----
- .. _class_String_method_to_utf8:
- - :ref:`PoolByteArray<class_PoolByteArray>` **to_utf8** **(** **)**
- Converts the String (which is an array of characters) to :ref:`PoolByteArray<class_PoolByteArray>` (which is an array of bytes). The conversion is a bit slower than :ref:`to_ascii<class_String_method_to_ascii>`, but supports all UTF-8 characters. Therefore, you should prefer this function over :ref:`to_ascii<class_String_method_to_ascii>`.
- ----
- .. _class_String_method_trim_prefix:
- - :ref:`String<class_String>` **trim_prefix** **(** :ref:`String<class_String>` prefix **)**
- Removes a given string from the start if it starts with it or leaves the string unchanged.
- ----
- .. _class_String_method_trim_suffix:
- - :ref:`String<class_String>` **trim_suffix** **(** :ref:`String<class_String>` suffix **)**
- Removes a given string from the end if it ends with it or leaves the string unchanged.
- ----
- .. _class_String_method_xml_escape:
- - :ref:`String<class_String>` **xml_escape** **(** **)**
- Returns a copy of the string with special characters escaped using the XML standard.
- ----
- .. _class_String_method_xml_unescape:
- - :ref:`String<class_String>` **xml_unescape** **(** **)**
- Returns a copy of the string with escaped characters replaced by their meanings according to the XML standard.
|