class_string.rst 58 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776
  1. .. Generated automatically by doc/tools/makerst.py in Godot's source tree.
  2. .. DO NOT EDIT THIS FILE, but the String.xml source instead.
  3. .. The source is found in doc/classes or modules/<name>/doc_classes.
  4. .. _class_String:
  5. String
  6. ======
  7. **Category:** Built-In Types
  8. Brief Description
  9. -----------------
  10. Built-in string class.
  11. Member Functions
  12. ----------------
  13. +------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
  14. | :ref:`String<class_string>` | :ref:`String<class_String_String>` **(** :ref:`bool<class_bool>` from **)** |
  15. +------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
  16. | :ref:`String<class_string>` | :ref:`String<class_String_String>` **(** :ref:`int<class_int>` from **)** |
  17. +------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
  18. | :ref:`String<class_string>` | :ref:`String<class_String_String>` **(** :ref:`float<class_float>` from **)** |
  19. +------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
  20. | :ref:`String<class_string>` | :ref:`String<class_String_String>` **(** :ref:`Vector2<class_vector2>` from **)** |
  21. +------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
  22. | :ref:`String<class_string>` | :ref:`String<class_String_String>` **(** :ref:`Rect2<class_rect2>` from **)** |
  23. +------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
  24. | :ref:`String<class_string>` | :ref:`String<class_String_String>` **(** :ref:`Vector3<class_vector3>` from **)** |
  25. +------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
  26. | :ref:`String<class_string>` | :ref:`String<class_String_String>` **(** :ref:`Transform2D<class_transform2d>` from **)** |
  27. +------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
  28. | :ref:`String<class_string>` | :ref:`String<class_String_String>` **(** :ref:`Plane<class_plane>` from **)** |
  29. +------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
  30. | :ref:`String<class_string>` | :ref:`String<class_String_String>` **(** :ref:`Quat<class_quat>` from **)** |
  31. +------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
  32. | :ref:`String<class_string>` | :ref:`String<class_String_String>` **(** :ref:`AABB<class_aabb>` from **)** |
  33. +------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
  34. | :ref:`String<class_string>` | :ref:`String<class_String_String>` **(** :ref:`Basis<class_basis>` from **)** |
  35. +------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
  36. | :ref:`String<class_string>` | :ref:`String<class_String_String>` **(** :ref:`Transform<class_transform>` from **)** |
  37. +------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
  38. | :ref:`String<class_string>` | :ref:`String<class_String_String>` **(** :ref:`Color<class_color>` from **)** |
  39. +------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
  40. | :ref:`String<class_string>` | :ref:`String<class_String_String>` **(** :ref:`NodePath<class_nodepath>` from **)** |
  41. +------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
  42. | :ref:`String<class_string>` | :ref:`String<class_String_String>` **(** :ref:`RID<class_rid>` from **)** |
  43. +------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
  44. | :ref:`String<class_string>` | :ref:`String<class_String_String>` **(** :ref:`Dictionary<class_dictionary>` from **)** |
  45. +------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
  46. | :ref:`String<class_string>` | :ref:`String<class_String_String>` **(** :ref:`Array<class_array>` from **)** |
  47. +------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
  48. | :ref:`String<class_string>` | :ref:`String<class_String_String>` **(** :ref:`PoolByteArray<class_poolbytearray>` from **)** |
  49. +------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
  50. | :ref:`String<class_string>` | :ref:`String<class_String_String>` **(** :ref:`PoolIntArray<class_poolintarray>` from **)** |
  51. +------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
  52. | :ref:`String<class_string>` | :ref:`String<class_String_String>` **(** :ref:`PoolRealArray<class_poolrealarray>` from **)** |
  53. +------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
  54. | :ref:`String<class_string>` | :ref:`String<class_String_String>` **(** :ref:`PoolStringArray<class_poolstringarray>` from **)** |
  55. +------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
  56. | :ref:`String<class_string>` | :ref:`String<class_String_String>` **(** :ref:`PoolVector2Array<class_poolvector2array>` from **)** |
  57. +------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
  58. | :ref:`String<class_string>` | :ref:`String<class_String_String>` **(** :ref:`PoolVector3Array<class_poolvector3array>` from **)** |
  59. +------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
  60. | :ref:`String<class_string>` | :ref:`String<class_String_String>` **(** :ref:`PoolColorArray<class_poolcolorarray>` from **)** |
  61. +------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
  62. | :ref:`bool<class_bool>` | :ref:`begins_with<class_String_begins_with>` **(** :ref:`String<class_string>` text **)** |
  63. +------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
  64. | :ref:`PoolStringArray<class_poolstringarray>` | :ref:`bigrams<class_String_bigrams>` **(** **)** |
  65. +------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
  66. | :ref:`String<class_string>` | :ref:`c_escape<class_String_c_escape>` **(** **)** |
  67. +------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
  68. | :ref:`String<class_string>` | :ref:`c_unescape<class_String_c_unescape>` **(** **)** |
  69. +------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
  70. | :ref:`String<class_string>` | :ref:`capitalize<class_String_capitalize>` **(** **)** |
  71. +------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
  72. | :ref:`int<class_int>` | :ref:`casecmp_to<class_String_casecmp_to>` **(** :ref:`String<class_string>` to **)** |
  73. +------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
  74. | :ref:`String<class_string>` | :ref:`dedent<class_String_dedent>` **(** **)** |
  75. +------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
  76. | :ref:`bool<class_bool>` | :ref:`empty<class_String_empty>` **(** **)** |
  77. +------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
  78. | :ref:`bool<class_bool>` | :ref:`ends_with<class_String_ends_with>` **(** :ref:`String<class_string>` text **)** |
  79. +------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
  80. | void | :ref:`erase<class_String_erase>` **(** :ref:`int<class_int>` position, :ref:`int<class_int>` chars **)** |
  81. +------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
  82. | :ref:`int<class_int>` | :ref:`find<class_String_find>` **(** :ref:`String<class_string>` what, :ref:`int<class_int>` from=0 **)** |
  83. +------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
  84. | :ref:`int<class_int>` | :ref:`find_last<class_String_find_last>` **(** :ref:`String<class_string>` what **)** |
  85. +------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
  86. | :ref:`int<class_int>` | :ref:`findn<class_String_findn>` **(** :ref:`String<class_string>` what, :ref:`int<class_int>` from=0 **)** |
  87. +------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
  88. | :ref:`String<class_string>` | :ref:`format<class_String_format>` **(** var values, :ref:`String<class_string>` placeholder={_} **)** |
  89. +------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
  90. | :ref:`String<class_string>` | :ref:`get_base_dir<class_String_get_base_dir>` **(** **)** |
  91. +------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
  92. | :ref:`String<class_string>` | :ref:`get_basename<class_String_get_basename>` **(** **)** |
  93. +------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
  94. | :ref:`String<class_string>` | :ref:`get_extension<class_String_get_extension>` **(** **)** |
  95. +------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
  96. | :ref:`String<class_string>` | :ref:`get_file<class_String_get_file>` **(** **)** |
  97. +------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
  98. | :ref:`int<class_int>` | :ref:`hash<class_String_hash>` **(** **)** |
  99. +------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
  100. | :ref:`int<class_int>` | :ref:`hex_to_int<class_String_hex_to_int>` **(** **)** |
  101. +------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
  102. | :ref:`String<class_string>` | :ref:`insert<class_String_insert>` **(** :ref:`int<class_int>` position, :ref:`String<class_string>` what **)** |
  103. +------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
  104. | :ref:`bool<class_bool>` | :ref:`is_abs_path<class_String_is_abs_path>` **(** **)** |
  105. +------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
  106. | :ref:`bool<class_bool>` | :ref:`is_rel_path<class_String_is_rel_path>` **(** **)** |
  107. +------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
  108. | :ref:`bool<class_bool>` | :ref:`is_subsequence_of<class_String_is_subsequence_of>` **(** :ref:`String<class_string>` text **)** |
  109. +------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
  110. | :ref:`bool<class_bool>` | :ref:`is_subsequence_ofi<class_String_is_subsequence_ofi>` **(** :ref:`String<class_string>` text **)** |
  111. +------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
  112. | :ref:`bool<class_bool>` | :ref:`is_valid_float<class_String_is_valid_float>` **(** **)** |
  113. +------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
  114. | :ref:`bool<class_bool>` | :ref:`is_valid_html_color<class_String_is_valid_html_color>` **(** **)** |
  115. +------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
  116. | :ref:`bool<class_bool>` | :ref:`is_valid_identifier<class_String_is_valid_identifier>` **(** **)** |
  117. +------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
  118. | :ref:`bool<class_bool>` | :ref:`is_valid_integer<class_String_is_valid_integer>` **(** **)** |
  119. +------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
  120. | :ref:`bool<class_bool>` | :ref:`is_valid_ip_address<class_String_is_valid_ip_address>` **(** **)** |
  121. +------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
  122. | :ref:`String<class_string>` | :ref:`json_escape<class_String_json_escape>` **(** **)** |
  123. +------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
  124. | :ref:`String<class_string>` | :ref:`left<class_String_left>` **(** :ref:`int<class_int>` position **)** |
  125. +------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
  126. | :ref:`int<class_int>` | :ref:`length<class_String_length>` **(** **)** |
  127. +------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
  128. | :ref:`String<class_string>` | :ref:`lstrip<class_String_lstrip>` **(** :ref:`String<class_string>` chars **)** |
  129. +------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
  130. | :ref:`bool<class_bool>` | :ref:`match<class_String_match>` **(** :ref:`String<class_string>` expr **)** |
  131. +------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
  132. | :ref:`bool<class_bool>` | :ref:`matchn<class_String_matchn>` **(** :ref:`String<class_string>` expr **)** |
  133. +------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
  134. | :ref:`PoolByteArray<class_poolbytearray>` | :ref:`md5_buffer<class_String_md5_buffer>` **(** **)** |
  135. +------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
  136. | :ref:`String<class_string>` | :ref:`md5_text<class_String_md5_text>` **(** **)** |
  137. +------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
  138. | :ref:`int<class_int>` | :ref:`nocasecmp_to<class_String_nocasecmp_to>` **(** :ref:`String<class_string>` to **)** |
  139. +------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
  140. | :ref:`int<class_int>` | :ref:`ord_at<class_String_ord_at>` **(** :ref:`int<class_int>` at **)** |
  141. +------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
  142. | :ref:`String<class_string>` | :ref:`pad_decimals<class_String_pad_decimals>` **(** :ref:`int<class_int>` digits **)** |
  143. +------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
  144. | :ref:`String<class_string>` | :ref:`pad_zeros<class_String_pad_zeros>` **(** :ref:`int<class_int>` digits **)** |
  145. +------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
  146. | :ref:`String<class_string>` | :ref:`percent_decode<class_String_percent_decode>` **(** **)** |
  147. +------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
  148. | :ref:`String<class_string>` | :ref:`percent_encode<class_String_percent_encode>` **(** **)** |
  149. +------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
  150. | :ref:`String<class_string>` | :ref:`plus_file<class_String_plus_file>` **(** :ref:`String<class_string>` file **)** |
  151. +------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
  152. | :ref:`String<class_string>` | :ref:`replace<class_String_replace>` **(** :ref:`String<class_string>` what, :ref:`String<class_string>` forwhat **)** |
  153. +------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
  154. | :ref:`String<class_string>` | :ref:`replacen<class_String_replacen>` **(** :ref:`String<class_string>` what, :ref:`String<class_string>` forwhat **)** |
  155. +------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
  156. | :ref:`int<class_int>` | :ref:`rfind<class_String_rfind>` **(** :ref:`String<class_string>` what, :ref:`int<class_int>` from=-1 **)** |
  157. +------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
  158. | :ref:`int<class_int>` | :ref:`rfindn<class_String_rfindn>` **(** :ref:`String<class_string>` what, :ref:`int<class_int>` from=-1 **)** |
  159. +------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
  160. | :ref:`String<class_string>` | :ref:`right<class_String_right>` **(** :ref:`int<class_int>` position **)** |
  161. +------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
  162. | :ref:`PoolStringArray<class_poolstringarray>` | :ref:`rsplit<class_String_rsplit>` **(** :ref:`String<class_string>` divisor, :ref:`bool<class_bool>` allow_empty=True, :ref:`int<class_int>` maxsplit=0 **)** |
  163. +------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
  164. | :ref:`String<class_string>` | :ref:`rstrip<class_String_rstrip>` **(** :ref:`String<class_string>` chars **)** |
  165. +------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
  166. | :ref:`PoolByteArray<class_poolbytearray>` | :ref:`sha256_buffer<class_String_sha256_buffer>` **(** **)** |
  167. +------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
  168. | :ref:`String<class_string>` | :ref:`sha256_text<class_String_sha256_text>` **(** **)** |
  169. +------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
  170. | :ref:`float<class_float>` | :ref:`similarity<class_String_similarity>` **(** :ref:`String<class_string>` text **)** |
  171. +------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
  172. | :ref:`PoolStringArray<class_poolstringarray>` | :ref:`split<class_String_split>` **(** :ref:`String<class_string>` divisor, :ref:`bool<class_bool>` allow_empty=True, :ref:`int<class_int>` maxsplit=0 **)** |
  173. +------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
  174. | :ref:`PoolRealArray<class_poolrealarray>` | :ref:`split_floats<class_String_split_floats>` **(** :ref:`String<class_string>` divisor, :ref:`bool<class_bool>` allow_empty=True **)** |
  175. +------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
  176. | :ref:`String<class_string>` | :ref:`strip_edges<class_String_strip_edges>` **(** :ref:`bool<class_bool>` left=True, :ref:`bool<class_bool>` right=True **)** |
  177. +------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
  178. | :ref:`String<class_string>` | :ref:`substr<class_String_substr>` **(** :ref:`int<class_int>` from, :ref:`int<class_int>` len **)** |
  179. +------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
  180. | :ref:`PoolByteArray<class_poolbytearray>` | :ref:`to_ascii<class_String_to_ascii>` **(** **)** |
  181. +------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
  182. | :ref:`float<class_float>` | :ref:`to_float<class_String_to_float>` **(** **)** |
  183. +------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
  184. | :ref:`int<class_int>` | :ref:`to_int<class_String_to_int>` **(** **)** |
  185. +------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
  186. | :ref:`String<class_string>` | :ref:`to_lower<class_String_to_lower>` **(** **)** |
  187. +------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
  188. | :ref:`String<class_string>` | :ref:`to_upper<class_String_to_upper>` **(** **)** |
  189. +------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
  190. | :ref:`PoolByteArray<class_poolbytearray>` | :ref:`to_utf8<class_String_to_utf8>` **(** **)** |
  191. +------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
  192. | :ref:`String<class_string>` | :ref:`trim_prefix<class_String_trim_prefix>` **(** :ref:`String<class_string>` prefix **)** |
  193. +------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
  194. | :ref:`String<class_string>` | :ref:`trim_suffix<class_String_trim_suffix>` **(** :ref:`String<class_string>` suffix **)** |
  195. +------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
  196. | :ref:`String<class_string>` | :ref:`xml_escape<class_String_xml_escape>` **(** **)** |
  197. +------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
  198. | :ref:`String<class_string>` | :ref:`xml_unescape<class_String_xml_unescape>` **(** **)** |
  199. +------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
  200. Description
  201. -----------
  202. 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.
  203. Member Function Description
  204. ---------------------------
  205. .. _class_String_String:
  206. - :ref:`String<class_string>` **String** **(** :ref:`bool<class_bool>` from **)**
  207. Constructs a new String from the given :ref:`bool<class_bool>`.
  208. .. _class_String_String:
  209. - :ref:`String<class_string>` **String** **(** :ref:`int<class_int>` from **)**
  210. Constructs a new String from the given :ref:`int<class_int>`.
  211. .. _class_String_String:
  212. - :ref:`String<class_string>` **String** **(** :ref:`float<class_float>` from **)**
  213. Constructs a new String from the given :ref:`float<class_float>`.
  214. .. _class_String_String:
  215. - :ref:`String<class_string>` **String** **(** :ref:`Vector2<class_vector2>` from **)**
  216. Constructs a new String from the given :ref:`Vector2<class_vector2>`.
  217. .. _class_String_String:
  218. - :ref:`String<class_string>` **String** **(** :ref:`Rect2<class_rect2>` from **)**
  219. Constructs a new String from the given :ref:`Rect2<class_rect2>`.
  220. .. _class_String_String:
  221. - :ref:`String<class_string>` **String** **(** :ref:`Vector3<class_vector3>` from **)**
  222. Constructs a new String from the given :ref:`Vector3<class_vector3>`.
  223. .. _class_String_String:
  224. - :ref:`String<class_string>` **String** **(** :ref:`Transform2D<class_transform2d>` from **)**
  225. Constructs a new String from the given :ref:`Transform2D<class_transform2d>`.
  226. .. _class_String_String:
  227. - :ref:`String<class_string>` **String** **(** :ref:`Plane<class_plane>` from **)**
  228. Constructs a new String from the given :ref:`Plane<class_plane>`.
  229. .. _class_String_String:
  230. - :ref:`String<class_string>` **String** **(** :ref:`Quat<class_quat>` from **)**
  231. Constructs a new String from the given :ref:`Quat<class_quat>`.
  232. .. _class_String_String:
  233. - :ref:`String<class_string>` **String** **(** :ref:`AABB<class_aabb>` from **)**
  234. Constructs a new String from the given :ref:`AABB<class_aabb>`.
  235. .. _class_String_String:
  236. - :ref:`String<class_string>` **String** **(** :ref:`Basis<class_basis>` from **)**
  237. Constructs a new String from the given :ref:`Basis<class_basis>`.
  238. .. _class_String_String:
  239. - :ref:`String<class_string>` **String** **(** :ref:`Transform<class_transform>` from **)**
  240. Constructs a new String from the given :ref:`Transform<class_transform>`.
  241. .. _class_String_String:
  242. - :ref:`String<class_string>` **String** **(** :ref:`Color<class_color>` from **)**
  243. Constructs a new String from the given :ref:`Color<class_color>`.
  244. .. _class_String_String:
  245. - :ref:`String<class_string>` **String** **(** :ref:`NodePath<class_nodepath>` from **)**
  246. Constructs a new String from the given :ref:`NodePath<class_nodepath>`.
  247. .. _class_String_String:
  248. - :ref:`String<class_string>` **String** **(** :ref:`RID<class_rid>` from **)**
  249. Constructs a new String from the given :ref:`RID<class_rid>`.
  250. .. _class_String_String:
  251. - :ref:`String<class_string>` **String** **(** :ref:`Dictionary<class_dictionary>` from **)**
  252. Constructs a new String from the given :ref:`Dictionary<class_dictionary>`.
  253. .. _class_String_String:
  254. - :ref:`String<class_string>` **String** **(** :ref:`Array<class_array>` from **)**
  255. Constructs a new String from the given :ref:`Array<class_array>`.
  256. .. _class_String_String:
  257. - :ref:`String<class_string>` **String** **(** :ref:`PoolByteArray<class_poolbytearray>` from **)**
  258. Constructs a new String from the given :ref:`PoolByteArray<class_poolbytearray>`.
  259. .. _class_String_String:
  260. - :ref:`String<class_string>` **String** **(** :ref:`PoolIntArray<class_poolintarray>` from **)**
  261. Constructs a new String from the given :ref:`PoolIntArray<class_poolintarray>`.
  262. .. _class_String_String:
  263. - :ref:`String<class_string>` **String** **(** :ref:`PoolRealArray<class_poolrealarray>` from **)**
  264. Constructs a new String from the given :ref:`PoolRealArray<class_poolrealarray>`.
  265. .. _class_String_String:
  266. - :ref:`String<class_string>` **String** **(** :ref:`PoolStringArray<class_poolstringarray>` from **)**
  267. Constructs a new String from the given :ref:`PoolStringArray<class_poolstringarray>`.
  268. .. _class_String_String:
  269. - :ref:`String<class_string>` **String** **(** :ref:`PoolVector2Array<class_poolvector2array>` from **)**
  270. Constructs a new String from the given :ref:`PoolVector2Array<class_poolvector2array>`.
  271. .. _class_String_String:
  272. - :ref:`String<class_string>` **String** **(** :ref:`PoolVector3Array<class_poolvector3array>` from **)**
  273. Constructs a new String from the given :ref:`PoolVector3Array<class_poolvector3array>`.
  274. .. _class_String_String:
  275. - :ref:`String<class_string>` **String** **(** :ref:`PoolColorArray<class_poolcolorarray>` from **)**
  276. Constructs a new String from the given :ref:`PoolColorArray<class_poolcolorarray>`.
  277. .. _class_String_begins_with:
  278. - :ref:`bool<class_bool>` **begins_with** **(** :ref:`String<class_string>` text **)**
  279. Returns ``true`` if the string begins with the given string.
  280. .. _class_String_bigrams:
  281. - :ref:`PoolStringArray<class_poolstringarray>` **bigrams** **(** **)**
  282. Returns the bigrams (pairs of consecutive letters) of this string.
  283. .. _class_String_c_escape:
  284. - :ref:`String<class_string>` **c_escape** **(** **)**
  285. Returns a copy of the string with special characters escaped using the C language standard.
  286. .. _class_String_c_unescape:
  287. - :ref:`String<class_string>` **c_unescape** **(** **)**
  288. Returns a copy of the string with escaped characters replaced by their meanings according to the C language standard.
  289. .. _class_String_capitalize:
  290. - :ref:`String<class_string>` **capitalize** **(** **)**
  291. 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``.
  292. .. _class_String_casecmp_to:
  293. - :ref:`int<class_int>` **casecmp_to** **(** :ref:`String<class_string>` to **)**
  294. Performs a case-sensitive comparison to another string. Returns ``-1`` if less than, ``+1`` if greater than, or ``0`` if equal.
  295. .. _class_String_dedent:
  296. - :ref:`String<class_string>` **dedent** **(** **)**
  297. Removes indentation from string.
  298. .. _class_String_empty:
  299. - :ref:`bool<class_bool>` **empty** **(** **)**
  300. Returns ``true`` if the string is empty.
  301. .. _class_String_ends_with:
  302. - :ref:`bool<class_bool>` **ends_with** **(** :ref:`String<class_string>` text **)**
  303. Returns ``true`` if the string ends with the given string.
  304. .. _class_String_erase:
  305. - void **erase** **(** :ref:`int<class_int>` position, :ref:`int<class_int>` chars **)**
  306. Erases ``chars`` characters from the string starting from ``position``.
  307. .. _class_String_find:
  308. - :ref:`int<class_int>` **find** **(** :ref:`String<class_string>` what, :ref:`int<class_int>` from=0 **)**
  309. 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.
  310. .. _class_String_find_last:
  311. - :ref:`int<class_int>` **find_last** **(** :ref:`String<class_string>` what **)**
  312. Finds the last occurrence of a substring. Returns the starting position of the substring or -1 if not found.
  313. .. _class_String_findn:
  314. - :ref:`int<class_int>` **findn** **(** :ref:`String<class_string>` what, :ref:`int<class_int>` from=0 **)**
  315. 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.
  316. .. _class_String_format:
  317. - :ref:`String<class_string>` **format** **(** var values, :ref:`String<class_string>` placeholder={_} **)**
  318. Formats the string by replacing all occurrences of ``placeholder`` with ``values``.
  319. .. _class_String_get_base_dir:
  320. - :ref:`String<class_string>` **get_base_dir** **(** **)**
  321. If the string is a valid file path, returns the base directory name.
  322. .. _class_String_get_basename:
  323. - :ref:`String<class_string>` **get_basename** **(** **)**
  324. If the string is a valid file path, returns the full file path without the extension.
  325. .. _class_String_get_extension:
  326. - :ref:`String<class_string>` **get_extension** **(** **)**
  327. If the string is a valid file path, returns the extension.
  328. .. _class_String_get_file:
  329. - :ref:`String<class_string>` **get_file** **(** **)**
  330. If the string is a valid file path, returns the filename.
  331. .. _class_String_hash:
  332. - :ref:`int<class_int>` **hash** **(** **)**
  333. Hashes the string and returns a 32-bit integer.
  334. .. _class_String_hex_to_int:
  335. - :ref:`int<class_int>` **hex_to_int** **(** **)**
  336. Converts a string containing a hexadecimal number into an integer.
  337. .. _class_String_insert:
  338. - :ref:`String<class_string>` **insert** **(** :ref:`int<class_int>` position, :ref:`String<class_string>` what **)**
  339. Inserts a substring at a given position.
  340. .. _class_String_is_abs_path:
  341. - :ref:`bool<class_bool>` **is_abs_path** **(** **)**
  342. If the string is a path to a file or directory, returns ``true`` if the path is absolute.
  343. .. _class_String_is_rel_path:
  344. - :ref:`bool<class_bool>` **is_rel_path** **(** **)**
  345. If the string is a path to a file or directory, returns ``true`` if the path is relative.
  346. .. _class_String_is_subsequence_of:
  347. - :ref:`bool<class_bool>` **is_subsequence_of** **(** :ref:`String<class_string>` text **)**
  348. Returns ``true`` if this string is a subsequence of the given string.
  349. .. _class_String_is_subsequence_ofi:
  350. - :ref:`bool<class_bool>` **is_subsequence_ofi** **(** :ref:`String<class_string>` text **)**
  351. Returns ``true`` if this string is a subsequence of the given string, without considering case.
  352. .. _class_String_is_valid_float:
  353. - :ref:`bool<class_bool>` **is_valid_float** **(** **)**
  354. Returns ``true`` if this string contains a valid float.
  355. .. _class_String_is_valid_html_color:
  356. - :ref:`bool<class_bool>` **is_valid_html_color** **(** **)**
  357. Returns ``true`` if this string contains a valid color in HTML notation.
  358. .. _class_String_is_valid_identifier:
  359. - :ref:`bool<class_bool>` **is_valid_identifier** **(** **)**
  360. 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.
  361. .. _class_String_is_valid_integer:
  362. - :ref:`bool<class_bool>` **is_valid_integer** **(** **)**
  363. Returns ``true`` if this string contains a valid integer.
  364. .. _class_String_is_valid_ip_address:
  365. - :ref:`bool<class_bool>` **is_valid_ip_address** **(** **)**
  366. Returns ``true`` if this string contains a valid IP address.
  367. .. _class_String_json_escape:
  368. - :ref:`String<class_string>` **json_escape** **(** **)**
  369. Returns a copy of the string with special characters escaped using the JSON standard.
  370. .. _class_String_left:
  371. - :ref:`String<class_string>` **left** **(** :ref:`int<class_int>` position **)**
  372. Returns a number of characters from the left of the string.
  373. .. _class_String_length:
  374. - :ref:`int<class_int>` **length** **(** **)**
  375. Returns the string's amount of characters.
  376. .. _class_String_lstrip:
  377. - :ref:`String<class_string>` **lstrip** **(** :ref:`String<class_string>` chars **)**
  378. Returns a copy of the string with characters removed from the left.
  379. .. _class_String_match:
  380. - :ref:`bool<class_bool>` **match** **(** :ref:`String<class_string>` expr **)**
  381. Does a simple expression match, where '\*' matches zero or more arbitrary characters and '?' matches any single character except '.'.
  382. .. _class_String_matchn:
  383. - :ref:`bool<class_bool>` **matchn** **(** :ref:`String<class_string>` expr **)**
  384. Does a simple case insensitive expression match, using ? and \* wildcards (see :ref:`match<class_String_match>`).
  385. .. _class_String_md5_buffer:
  386. - :ref:`PoolByteArray<class_poolbytearray>` **md5_buffer** **(** **)**
  387. Returns the MD5 hash of the string as an array of bytes.
  388. .. _class_String_md5_text:
  389. - :ref:`String<class_string>` **md5_text** **(** **)**
  390. Returns the MD5 hash of the string as a string.
  391. .. _class_String_nocasecmp_to:
  392. - :ref:`int<class_int>` **nocasecmp_to** **(** :ref:`String<class_string>` to **)**
  393. Performs a case-insensitive comparison to another string. Returns ``-1`` if less than, ``+1`` if greater than, or ``0`` if equal.
  394. .. _class_String_ord_at:
  395. - :ref:`int<class_int>` **ord_at** **(** :ref:`int<class_int>` at **)**
  396. Returns the character code at position ``at``.
  397. .. _class_String_pad_decimals:
  398. - :ref:`String<class_string>` **pad_decimals** **(** :ref:`int<class_int>` digits **)**
  399. Formats a number to have an exact number of ``digits`` after the decimal point.
  400. .. _class_String_pad_zeros:
  401. - :ref:`String<class_string>` **pad_zeros** **(** :ref:`int<class_int>` digits **)**
  402. Formats a number to have an exact number of ``digits`` before the decimal point.
  403. .. _class_String_percent_decode:
  404. - :ref:`String<class_string>` **percent_decode** **(** **)**
  405. Decode a percent-encoded string. See :ref:`percent_encode<class_String_percent_encode>`.
  406. .. _class_String_percent_encode:
  407. - :ref:`String<class_string>` **percent_encode** **(** **)**
  408. Percent-encodes a string. Encodes parameters in a URL when sending a HTTP GET request (and bodies of form-urlencoded POST requests).
  409. .. _class_String_plus_file:
  410. - :ref:`String<class_string>` **plus_file** **(** :ref:`String<class_string>` file **)**
  411. 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"``.
  412. .. _class_String_replace:
  413. - :ref:`String<class_string>` **replace** **(** :ref:`String<class_string>` what, :ref:`String<class_string>` forwhat **)**
  414. Replaces occurrences of a substring with the given one inside the string.
  415. .. _class_String_replacen:
  416. - :ref:`String<class_string>` **replacen** **(** :ref:`String<class_string>` what, :ref:`String<class_string>` forwhat **)**
  417. Replaces occurrences of a substring with the given one inside the string. Ignores case.
  418. .. _class_String_rfind:
  419. - :ref:`int<class_int>` **rfind** **(** :ref:`String<class_string>` what, :ref:`int<class_int>` from=-1 **)**
  420. Performs a search for a substring, but starts from the end of the string instead of the beginning.
  421. .. _class_String_rfindn:
  422. - :ref:`int<class_int>` **rfindn** **(** :ref:`String<class_string>` what, :ref:`int<class_int>` from=-1 **)**
  423. Performs a search for a substring, but starts from the end of the string instead of the beginning. Ignores case.
  424. .. _class_String_right:
  425. - :ref:`String<class_string>` **right** **(** :ref:`int<class_int>` position **)**
  426. Returns the right side of the string from a given position.
  427. .. _class_String_rsplit:
  428. - :ref:`PoolStringArray<class_poolstringarray>` **rsplit** **(** :ref:`String<class_string>` divisor, :ref:`bool<class_bool>` allow_empty=True, :ref:`int<class_int>` maxsplit=0 **)**
  429. Splits the string by a ``divisor`` string and returns an array of the substrings, starting from right. Example "One,Two,Three" will return "One","Two","Three" if split by ",".
  430. If ``maxsplit`` is specified, then it is number of splits to do, default is 0 which splits all the items.
  431. .. _class_String_rstrip:
  432. - :ref:`String<class_string>` **rstrip** **(** :ref:`String<class_string>` chars **)**
  433. Returns a copy of the string with characters removed from the right.
  434. .. _class_String_sha256_buffer:
  435. - :ref:`PoolByteArray<class_poolbytearray>` **sha256_buffer** **(** **)**
  436. .. _class_String_sha256_text:
  437. - :ref:`String<class_string>` **sha256_text** **(** **)**
  438. Returns the SHA-256 hash of the string as a string.
  439. .. _class_String_similarity:
  440. - :ref:`float<class_float>` **similarity** **(** :ref:`String<class_string>` text **)**
  441. Returns the similarity index of the text compared to this string. 1 means totally similar and 0 means totally dissimilar.
  442. .. _class_String_split:
  443. - :ref:`PoolStringArray<class_poolstringarray>` **split** **(** :ref:`String<class_string>` divisor, :ref:`bool<class_bool>` allow_empty=True, :ref:`int<class_int>` maxsplit=0 **)**
  444. Splits the string by a divisor string and returns an array of the substrings. Example "One,Two,Three" will return "One","Two","Three" if split by ",".
  445. If ``maxsplit`` is given, at most maxsplit number of splits occur, and the remainder of the string is returned as the final element of the list (thus, the list will have at most maxsplit+1 elements)
  446. .. _class_String_split_floats:
  447. - :ref:`PoolRealArray<class_poolrealarray>` **split_floats** **(** :ref:`String<class_string>` divisor, :ref:`bool<class_bool>` allow_empty=True **)**
  448. Splits the string in floats by using a divisor string and returns an array of the substrings. Example "1,2.5,3" will return 1,2.5,3 if split by ",".
  449. .. _class_String_strip_edges:
  450. - :ref:`String<class_string>` **strip_edges** **(** :ref:`bool<class_bool>` left=True, :ref:`bool<class_bool>` right=True **)**
  451. 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.
  452. .. _class_String_substr:
  453. - :ref:`String<class_string>` **substr** **(** :ref:`int<class_int>` from, :ref:`int<class_int>` len **)**
  454. Returns part of the string from the position ``from`` with length ``len``.
  455. .. _class_String_to_ascii:
  456. - :ref:`PoolByteArray<class_poolbytearray>` **to_ascii** **(** **)**
  457. 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 to_utf8() with the assumption that all the characters the String contains are only ASCII characters.
  458. .. _class_String_to_float:
  459. - :ref:`float<class_float>` **to_float** **(** **)**
  460. Converts a string containing a decimal number into a ``float``.
  461. .. _class_String_to_int:
  462. - :ref:`int<class_int>` **to_int** **(** **)**
  463. Converts a string containing an integer number into an ``int``.
  464. .. _class_String_to_lower:
  465. - :ref:`String<class_string>` **to_lower** **(** **)**
  466. Returns the string converted to lowercase.
  467. .. _class_String_to_upper:
  468. - :ref:`String<class_string>` **to_upper** **(** **)**
  469. Returns the string converted to uppercase.
  470. .. _class_String_to_utf8:
  471. - :ref:`PoolByteArray<class_poolbytearray>` **to_utf8** **(** **)**
  472. 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 to_ascii(), but supports all UTF-8 characters. Therefore, you should prefer this function over to_ascii().
  473. .. _class_String_trim_prefix:
  474. - :ref:`String<class_string>` **trim_prefix** **(** :ref:`String<class_string>` prefix **)**
  475. Removes a given string from the start if it starts with it or leaves the string unchanged.
  476. .. _class_String_trim_suffix:
  477. - :ref:`String<class_string>` **trim_suffix** **(** :ref:`String<class_string>` suffix **)**
  478. Removes a given string from the end if it ends with it or leaves the string unchanged.
  479. .. _class_String_xml_escape:
  480. - :ref:`String<class_string>` **xml_escape** **(** **)**
  481. Returns a copy of the string with special characters escaped using the XML standard.
  482. .. _class_String_xml_unescape:
  483. - :ref:`String<class_string>` **xml_unescape** **(** **)**
  484. Returns a copy of the string with escaped characters replaced by their meanings according to the XML standard.