12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742 |
- :github_url: hide
- .. DO NOT EDIT THIS FILE!!!
- .. Generated automatically from Godot engine sources.
- .. Generator: https://github.com/godotengine/godot/tree/3.6/doc/tools/make_rst.py.
- .. XML source: https://github.com/godotengine/godot/tree/3.6/doc/classes/String.xml.
- .. _class_String:
- String
- ======
- Built-in string class.
- .. rst-class:: classref-introduction-group
- 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.
- .. rst-class:: classref-introduction-group
- Tutorials
- ---------
- - :doc:`../tutorials/scripting/gdscript/gdscript_format_string`
- .. rst-class:: classref-reftable-group
- Methods
- -------
- .. table::
- :widths: auto
- +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :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:`int<class_int>` | :ref:`count<class_String_method_count>` **(** :ref:`String<class_String>` what, :ref:`int<class_int>` from=0, :ref:`int<class_int>` to=0 **)** |
- +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`int<class_int>` | :ref:`countn<class_String_method_countn>` **(** :ref:`String<class_String>` what, :ref:`int<class_int>` from=0, :ref:`int<class_int>` to=0 **)** |
- +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :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:`String<class_String>` | :ref:`get_slice<class_String_method_get_slice>` **(** :ref:`String<class_String>` delimiter, :ref:`int<class_int>` slice **)** |
- +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :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:`http_escape<class_String_method_http_escape>` **(** **)** |
- +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`String<class_String>` | :ref:`http_unescape<class_String_method_http_unescape>` **(** **)** |
- +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`String<class_String>` | :ref:`humanize_size<class_String_method_humanize_size>` **(** :ref:`int<class_int>` size **)** |
- +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`String<class_String>` | :ref:`indent<class_String_method_indent>` **(** :ref:`String<class_String>` prefix **)** |
- +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :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_filename<class_String_method_is_valid_filename>` **(** **)** |
- +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :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:`join<class_String_method_join>` **(** :ref:`PoolStringArray<class_PoolStringArray>` parts **)** |
- +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :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:`naturalnocasecmp_to<class_String_method_naturalnocasecmp_to>` **(** :ref:`String<class_String>` to **)** |
- +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :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:`repeat<class_String_method_repeat>` **(** :ref:`int<class_int>` count **)** |
- +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :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:`sha1_buffer<class_String_method_sha1_buffer>` **(** **)** |
- +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`String<class_String>` | :ref:`sha1_text<class_String_method_sha1_text>` **(** **)** |
- +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :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:`String<class_String>` | :ref:`simplify_path<class_String_method_simplify_path>` **(** **)** |
- +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :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:`strip_escapes<class_String_method_strip_escapes>` **(** **)** |
- +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`String<class_String>` | :ref:`substr<class_String_method_substr>` **(** :ref:`int<class_int>` from, :ref:`int<class_int>` len=-1 **)** |
- +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :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:`PoolByteArray<class_PoolByteArray>` | :ref:`to_wchar<class_String_method_to_wchar>` **(** **)** |
- +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :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:`validate_node_name<class_String_method_validate_node_name>` **(** **)** |
- +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`String<class_String>` | :ref:`xml_escape<class_String_method_xml_escape>` **(** **)** |
- +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`String<class_String>` | :ref:`xml_unescape<class_String_method_xml_unescape>` **(** **)** |
- +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- .. rst-class:: classref-section-separator
- ----
- .. rst-class:: classref-descriptions-group
- Method Descriptions
- -------------------
- .. _class_String_method_String:
- .. rst-class:: classref-method
- :ref:`String<class_String>` **String** **(** :ref:`bool<class_bool>` from **)**
- Constructs a new String from the given :ref:`bool<class_bool>`.
- .. rst-class:: classref-item-separator
- ----
- .. rst-class:: classref-method
- :ref:`String<class_String>` **String** **(** :ref:`int<class_int>` from **)**
- Constructs a new String from the given :ref:`int<class_int>`.
- .. rst-class:: classref-item-separator
- ----
- .. rst-class:: classref-method
- :ref:`String<class_String>` **String** **(** :ref:`float<class_float>` from **)**
- Constructs a new String from the given :ref:`float<class_float>`.
- .. rst-class:: classref-item-separator
- ----
- .. rst-class:: classref-method
- :ref:`String<class_String>` **String** **(** :ref:`Vector2<class_Vector2>` from **)**
- Constructs a new String from the given :ref:`Vector2<class_Vector2>`.
- .. rst-class:: classref-item-separator
- ----
- .. rst-class:: classref-method
- :ref:`String<class_String>` **String** **(** :ref:`Rect2<class_Rect2>` from **)**
- Constructs a new String from the given :ref:`Rect2<class_Rect2>`.
- .. rst-class:: classref-item-separator
- ----
- .. rst-class:: classref-method
- :ref:`String<class_String>` **String** **(** :ref:`Vector3<class_Vector3>` from **)**
- Constructs a new String from the given :ref:`Vector3<class_Vector3>`.
- .. rst-class:: classref-item-separator
- ----
- .. rst-class:: classref-method
- :ref:`String<class_String>` **String** **(** :ref:`Transform2D<class_Transform2D>` from **)**
- Constructs a new String from the given :ref:`Transform2D<class_Transform2D>`.
- .. rst-class:: classref-item-separator
- ----
- .. rst-class:: classref-method
- :ref:`String<class_String>` **String** **(** :ref:`Plane<class_Plane>` from **)**
- Constructs a new String from the given :ref:`Plane<class_Plane>`.
- .. rst-class:: classref-item-separator
- ----
- .. rst-class:: classref-method
- :ref:`String<class_String>` **String** **(** :ref:`Quat<class_Quat>` from **)**
- Constructs a new String from the given :ref:`Quat<class_Quat>`.
- .. rst-class:: classref-item-separator
- ----
- .. rst-class:: classref-method
- :ref:`String<class_String>` **String** **(** :ref:`AABB<class_AABB>` from **)**
- Constructs a new String from the given :ref:`AABB<class_AABB>`.
- .. rst-class:: classref-item-separator
- ----
- .. rst-class:: classref-method
- :ref:`String<class_String>` **String** **(** :ref:`Basis<class_Basis>` from **)**
- Constructs a new String from the given :ref:`Basis<class_Basis>`.
- .. rst-class:: classref-item-separator
- ----
- .. rst-class:: classref-method
- :ref:`String<class_String>` **String** **(** :ref:`Transform<class_Transform>` from **)**
- Constructs a new String from the given :ref:`Transform<class_Transform>`.
- .. rst-class:: classref-item-separator
- ----
- .. rst-class:: classref-method
- :ref:`String<class_String>` **String** **(** :ref:`Color<class_Color>` from **)**
- Constructs a new String from the given :ref:`Color<class_Color>`.
- .. rst-class:: classref-item-separator
- ----
- .. rst-class:: classref-method
- :ref:`String<class_String>` **String** **(** :ref:`NodePath<class_NodePath>` from **)**
- Constructs a new String from the given :ref:`NodePath<class_NodePath>`.
- .. rst-class:: classref-item-separator
- ----
- .. rst-class:: classref-method
- :ref:`String<class_String>` **String** **(** :ref:`RID<class_RID>` from **)**
- Constructs a new String from the given :ref:`RID<class_RID>`.
- .. rst-class:: classref-item-separator
- ----
- .. rst-class:: classref-method
- :ref:`String<class_String>` **String** **(** :ref:`Dictionary<class_Dictionary>` from **)**
- Constructs a new String from the given :ref:`Dictionary<class_Dictionary>`.
- .. rst-class:: classref-item-separator
- ----
- .. rst-class:: classref-method
- :ref:`String<class_String>` **String** **(** :ref:`Array<class_Array>` from **)**
- Constructs a new String from the given :ref:`Array<class_Array>`.
- .. rst-class:: classref-item-separator
- ----
- .. rst-class:: classref-method
- :ref:`String<class_String>` **String** **(** :ref:`PoolByteArray<class_PoolByteArray>` from **)**
- Constructs a new String from the given :ref:`PoolByteArray<class_PoolByteArray>`.
- .. rst-class:: classref-item-separator
- ----
- .. rst-class:: classref-method
- :ref:`String<class_String>` **String** **(** :ref:`PoolIntArray<class_PoolIntArray>` from **)**
- Constructs a new String from the given :ref:`PoolIntArray<class_PoolIntArray>`.
- .. rst-class:: classref-item-separator
- ----
- .. rst-class:: classref-method
- :ref:`String<class_String>` **String** **(** :ref:`PoolRealArray<class_PoolRealArray>` from **)**
- Constructs a new String from the given :ref:`PoolRealArray<class_PoolRealArray>`.
- .. rst-class:: classref-item-separator
- ----
- .. rst-class:: classref-method
- :ref:`String<class_String>` **String** **(** :ref:`PoolStringArray<class_PoolStringArray>` from **)**
- Constructs a new String from the given :ref:`PoolStringArray<class_PoolStringArray>`.
- .. rst-class:: classref-item-separator
- ----
- .. rst-class:: classref-method
- :ref:`String<class_String>` **String** **(** :ref:`PoolVector2Array<class_PoolVector2Array>` from **)**
- Constructs a new String from the given :ref:`PoolVector2Array<class_PoolVector2Array>`.
- .. rst-class:: classref-item-separator
- ----
- .. rst-class:: classref-method
- :ref:`String<class_String>` **String** **(** :ref:`PoolVector3Array<class_PoolVector3Array>` from **)**
- Constructs a new String from the given :ref:`PoolVector3Array<class_PoolVector3Array>`.
- .. rst-class:: classref-item-separator
- ----
- .. rst-class:: classref-method
- :ref:`String<class_String>` **String** **(** :ref:`PoolColorArray<class_PoolColorArray>` from **)**
- Constructs a new String from the given :ref:`PoolColorArray<class_PoolColorArray>`.
- .. rst-class:: classref-item-separator
- ----
- .. _class_String_method_begins_with:
- .. rst-class:: classref-method
- :ref:`bool<class_bool>` **begins_with** **(** :ref:`String<class_String>` text **)**
- Returns ``true`` if the string begins with the given string.
- .. rst-class:: classref-item-separator
- ----
- .. _class_String_method_bigrams:
- .. rst-class:: classref-method
- :ref:`PoolStringArray<class_PoolStringArray>` **bigrams** **(** **)**
- Returns an array containing the bigrams (pairs of consecutive letters) of this string.
- ::
- print("Bigrams".bigrams()) # Prints "[Bi, ig, gr, ra, am, ms]"
- .. rst-class:: classref-item-separator
- ----
- .. _class_String_method_c_escape:
- .. rst-class:: classref-method
- :ref:`String<class_String>` **c_escape** **(** **)**
- Returns a copy of the string with special characters escaped using the C language standard.
- .. rst-class:: classref-item-separator
- ----
- .. _class_String_method_c_unescape:
- .. rst-class:: classref-method
- :ref:`String<class_String>` **c_unescape** **(** **)**
- Returns a copy of the string with escaped characters replaced by their meanings. Supported escape sequences are ``\'``, ``\"``, ``\?``, ``\\``, ``\a``, ``\b``, ``\f``, ``\n``, ``\r``, ``\t``, ``\v``.
- \ **Note:** Unlike the GDScript parser, this method doesn't support the ``\uXXXX`` escape sequence.
- .. rst-class:: classref-item-separator
- ----
- .. _class_String_method_capitalize:
- .. rst-class:: classref-method
- :ref:`String<class_String>` **capitalize** **(** **)**
- Changes the case of some letters. Replaces underscores with spaces, adds spaces before in-word uppercase characters, converts all letters to lowercase, then capitalizes the first letter and every letter following a space character. For ``capitalize camelCase mixed_with_underscores``, it will return ``Capitalize Camel Case Mixed With Underscores``.
- .. rst-class:: classref-item-separator
- ----
- .. _class_String_method_casecmp_to:
- .. rst-class:: classref-method
- :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. "less than" or "greater than" are determined by the `Unicode code points <https://en.wikipedia.org/wiki/List_of_Unicode_characters>`__ of each string, which roughly matches the alphabetical order.
- \ **Behavior with different string lengths:** Returns ``1`` if the "base" string is longer than the ``to`` string or ``-1`` if the "base" string is shorter than the ``to`` string. Keep in mind this length is determined by the number of Unicode codepoints, *not* the actual visible characters.
- \ **Behavior with empty strings:** Returns ``-1`` if the "base" string is empty, ``1`` if the ``to`` string is empty or ``0`` if both strings are empty.
- To get a boolean result from a string comparison, use the ``==`` operator instead. See also :ref:`nocasecmp_to<class_String_method_nocasecmp_to>`.
- .. rst-class:: classref-item-separator
- ----
- .. _class_String_method_count:
- .. rst-class:: classref-method
- :ref:`int<class_int>` **count** **(** :ref:`String<class_String>` what, :ref:`int<class_int>` from=0, :ref:`int<class_int>` to=0 **)**
- Returns the number of occurrences of substring ``what`` between ``from`` and ``to`` positions. If ``from`` and ``to`` equals 0 the whole string will be used. If only ``to`` equals 0 the remained substring will be used.
- .. rst-class:: classref-item-separator
- ----
- .. _class_String_method_countn:
- .. rst-class:: classref-method
- :ref:`int<class_int>` **countn** **(** :ref:`String<class_String>` what, :ref:`int<class_int>` from=0, :ref:`int<class_int>` to=0 **)**
- Returns the number of occurrences of substring ``what`` (ignoring case) between ``from`` and ``to`` positions. If ``from`` and ``to`` equals 0 the whole string will be used. If only ``to`` equals 0 the remained substring will be used.
- .. rst-class:: classref-item-separator
- ----
- .. _class_String_method_dedent:
- .. rst-class:: classref-method
- :ref:`String<class_String>` **dedent** **(** **)**
- Returns a copy of the string with indentation (leading tabs and spaces) removed. See also :ref:`indent<class_String_method_indent>` to add indentation.
- .. rst-class:: classref-item-separator
- ----
- .. _class_String_method_empty:
- .. rst-class:: classref-method
- :ref:`bool<class_bool>` **empty** **(** **)**
- Returns ``true`` if the length of the string equals ``0``.
- .. rst-class:: classref-item-separator
- ----
- .. _class_String_method_ends_with:
- .. rst-class:: classref-method
- :ref:`bool<class_bool>` **ends_with** **(** :ref:`String<class_String>` text **)**
- Returns ``true`` if the string ends with the given string.
- .. rst-class:: classref-item-separator
- ----
- .. _class_String_method_erase:
- .. rst-class:: classref-method
- void **erase** **(** :ref:`int<class_int>` position, :ref:`int<class_int>` chars **)**
- Erases ``chars`` characters from the string starting from ``position``.
- .. rst-class:: classref-item-separator
- ----
- .. _class_String_method_find:
- .. rst-class:: classref-method
- :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.
- \ **Note:** If you just want to know whether a string contains a substring, use the ``in`` operator as follows:
- ::
- # Will evaluate to `false`.
- if "i" in "team":
- pass
- .. rst-class:: classref-item-separator
- ----
- .. _class_String_method_find_last:
- .. rst-class:: classref-method
- :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.
- .. rst-class:: classref-item-separator
- ----
- .. _class_String_method_findn:
- .. rst-class:: classref-method
- :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.
- .. rst-class:: classref-item-separator
- ----
- .. _class_String_method_format:
- .. rst-class:: classref-method
- :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 the elements of ``values``.
- \ ``values`` can be a :ref:`Dictionary<class_Dictionary>` or an :ref:`Array<class_Array>`. Any underscores in ``placeholder`` will be replaced with the corresponding keys in advance. Array elements use their index as keys.
- ::
- # Prints: Waiting for Godot is a play by Samuel Beckett, and Godot Engine is named after it.
- var use_array_values = "Waiting for {0} is a play by {1}, and {0} Engine is named after it."
- print(use_array_values.format(["Godot", "Samuel Beckett"]))
-
- # Prints: User 42 is Godot.
- print("User {id} is {name}.".format({"id": 42, "name": "Godot"}))
- Some additional handling is performed when ``values`` is an array. If ``placeholder`` does not contain an underscore, the elements of the array will be used to replace one occurrence of the placeholder in turn; If an array element is another 2-element array, it'll be interpreted as a key-value pair.
- ::
- # Prints: User 42 is Godot.
- print("User {} is {}.".format([42, "Godot"], "{}"))
- print("User {id} is {name}.".format([["id", 42], ["name", "Godot"]]))
- .. rst-class:: classref-item-separator
- ----
- .. _class_String_method_get_base_dir:
- .. rst-class:: classref-method
- :ref:`String<class_String>` **get_base_dir** **(** **)**
- If the string is a valid file path, returns the base directory name.
- .. rst-class:: classref-item-separator
- ----
- .. _class_String_method_get_basename:
- .. rst-class:: classref-method
- :ref:`String<class_String>` **get_basename** **(** **)**
- If the string is a valid file path, returns the full file path without the extension.
- .. rst-class:: classref-item-separator
- ----
- .. _class_String_method_get_extension:
- .. rst-class:: classref-method
- :ref:`String<class_String>` **get_extension** **(** **)**
- Returns the extension without the leading period character (``.``) if the string is a valid file name or path. If the string does not contain an extension, returns an empty string instead.
- ::
- print("/path/to/file.txt".get_extension()) # "txt"
- print("file.txt".get_extension()) # "txt"
- print("file.sample.txt".get_extension()) # "txt"
- print(".txt".get_extension()) # "txt"
- print("file.txt.".get_extension()) # "" (empty string)
- print("file.txt..".get_extension()) # "" (empty string)
- print("txt".get_extension()) # "" (empty string)
- print("".get_extension()) # "" (empty string)
- .. rst-class:: classref-item-separator
- ----
- .. _class_String_method_get_file:
- .. rst-class:: classref-method
- :ref:`String<class_String>` **get_file** **(** **)**
- If the string is a valid file path, returns the filename.
- .. rst-class:: classref-item-separator
- ----
- .. _class_String_method_get_slice:
- .. rst-class:: classref-method
- :ref:`String<class_String>` **get_slice** **(** :ref:`String<class_String>` delimiter, :ref:`int<class_int>` slice **)**
- Splits a string using a ``delimiter`` and returns a substring at index ``slice``. Returns the original string if ``delimiter`` does not occur in the string. Returns an empty string if the index doesn't exist.
- This is a more performant alternative to :ref:`split<class_String_method_split>` for cases when you need only one element from the array at a fixed index.
- Example:
- ::
- print("i/am/example/string".get_slice("/", 2)) # Prints 'example'.
- .. rst-class:: classref-item-separator
- ----
- .. _class_String_method_hash:
- .. rst-class:: classref-method
- :ref:`int<class_int>` **hash** **(** **)**
- Returns the 32-bit hash value representing the string's contents.
- \ **Note:** **String**\ s with equal content will always produce identical hash values. However, the reverse is not true. Returning identical hash values does *not* imply the strings are equal, because different strings can have identical hash values due to hash collisions.
- .. rst-class:: classref-item-separator
- ----
- .. _class_String_method_hex_to_int:
- .. rst-class:: classref-method
- :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"
- .. rst-class:: classref-item-separator
- ----
- .. _class_String_method_http_escape:
- .. rst-class:: classref-method
- :ref:`String<class_String>` **http_escape** **(** **)**
- Escapes (encodes) a string to URL friendly format. Also referred to as 'URL encode'.
- ::
- print("https://example.org/?escaped=" + "Godot Engine:'docs'".http_escape())
- .. rst-class:: classref-item-separator
- ----
- .. _class_String_method_http_unescape:
- .. rst-class:: classref-method
- :ref:`String<class_String>` **http_unescape** **(** **)**
- Unescapes (decodes) a string in URL encoded format. Also referred to as 'URL decode'.
- ::
- print("https://example.org/?escaped=" + "Godot%20Engine%3A%27docs%27".http_unescape())
- .. rst-class:: classref-item-separator
- ----
- .. _class_String_method_humanize_size:
- .. rst-class:: classref-method
- :ref:`String<class_String>` **humanize_size** **(** :ref:`int<class_int>` size **)**
- Converts ``size`` represented as number of bytes to human-readable format using internationalized set of data size units, namely: B, KiB, MiB, GiB, TiB, PiB, EiB. Note that the next smallest unit is picked automatically to hold at most 1024 units.
- ::
- var bytes = 133790307
- var size = String.humanize_size(bytes)
- print(size) # prints "127.5 MiB"
- .. rst-class:: classref-item-separator
- ----
- .. _class_String_method_indent:
- .. rst-class:: classref-method
- :ref:`String<class_String>` **indent** **(** :ref:`String<class_String>` prefix **)**
- Returns a copy of the string with lines indented with ``prefix``.
- For example, the string can be indented with two tabs using ``"\t\t"``, or four spaces using ``" "``. The prefix can be any string so it can also be used to comment out strings with e.g. ``"# "``. See also :ref:`dedent<class_String_method_dedent>` to remove indentation.
- \ **Note:** Empty lines are kept empty.
- .. rst-class:: classref-item-separator
- ----
- .. _class_String_method_insert:
- .. rst-class:: classref-method
- :ref:`String<class_String>` **insert** **(** :ref:`int<class_int>` position, :ref:`String<class_String>` what **)**
- Returns a copy of the string with the substring ``what`` inserted at the given position.
- .. rst-class:: classref-item-separator
- ----
- .. _class_String_method_is_abs_path:
- .. rst-class:: classref-method
- :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.
- .. rst-class:: classref-item-separator
- ----
- .. _class_String_method_is_rel_path:
- .. rst-class:: classref-method
- :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.
- .. rst-class:: classref-item-separator
- ----
- .. _class_String_method_is_subsequence_of:
- .. rst-class:: classref-method
- :ref:`bool<class_bool>` **is_subsequence_of** **(** :ref:`String<class_String>` text **)**
- Returns ``true`` if this string is a subsequence of the given string.
- .. rst-class:: classref-item-separator
- ----
- .. _class_String_method_is_subsequence_ofi:
- .. rst-class:: classref-method
- :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.
- .. rst-class:: classref-item-separator
- ----
- .. _class_String_method_is_valid_filename:
- .. rst-class:: classref-method
- :ref:`bool<class_bool>` **is_valid_filename** **(** **)**
- Returns ``true`` if this string is free from characters that aren't allowed in file names, those being:
- \ ``: / \ ? * " | % < >``
- .. rst-class:: classref-item-separator
- ----
- .. _class_String_method_is_valid_float:
- .. rst-class:: classref-method
- :ref:`bool<class_bool>` **is_valid_float** **(** **)**
- Returns ``true`` if this string contains a valid float. This is inclusive of integers, and also supports exponents:
- ::
- print("1.7".is_valid_float()) # Prints "True"
- print("24".is_valid_float()) # Prints "True"
- print("7e3".is_valid_float()) # Prints "True"
- print("Hello".is_valid_float()) # Prints "False"
- .. rst-class:: classref-item-separator
- ----
- .. _class_String_method_is_valid_hex_number:
- .. rst-class:: classref-method
- :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``.
- .. rst-class:: classref-item-separator
- ----
- .. _class_String_method_is_valid_html_color:
- .. rst-class:: classref-method
- :ref:`bool<class_bool>` **is_valid_html_color** **(** **)**
- Returns ``true`` if this string contains a valid color in hexadecimal HTML notation. Other HTML notations such as named colors or ``hsl()`` colors aren't considered valid by this method and will return ``false``.
- .. rst-class:: classref-item-separator
- ----
- .. _class_String_method_is_valid_identifier:
- .. rst-class:: classref-method
- :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.
- ::
- print("good_ident_1".is_valid_identifier()) # Prints "True"
- print("1st_bad_ident".is_valid_identifier()) # Prints "False"
- print("bad_ident_#2".is_valid_identifier()) # Prints "False"
- .. rst-class:: classref-item-separator
- ----
- .. _class_String_method_is_valid_integer:
- .. rst-class:: classref-method
- :ref:`bool<class_bool>` **is_valid_integer** **(** **)**
- Returns ``true`` if this string contains a valid integer.
- ::
- print("7".is_valid_integer()) # Prints "True"
- print("14.6".is_valid_integer()) # Prints "False"
- print("L".is_valid_integer()) # Prints "False"
- print("+3".is_valid_integer()) # Prints "True"
- print("-12".is_valid_integer()) # Prints "True"
- .. rst-class:: classref-item-separator
- ----
- .. _class_String_method_is_valid_ip_address:
- .. rst-class:: classref-method
- :ref:`bool<class_bool>` **is_valid_ip_address** **(** **)**
- Returns ``true`` if this string contains only a well-formatted IPv4 or IPv6 address. This method considers `reserved IP addresses <https://en.wikipedia.org/wiki/Reserved_IP_addresses>`__ such as ``0.0.0.0`` as valid.
- .. rst-class:: classref-item-separator
- ----
- .. _class_String_method_join:
- .. rst-class:: classref-method
- :ref:`String<class_String>` **join** **(** :ref:`PoolStringArray<class_PoolStringArray>` parts **)**
- Return a **String** which is the concatenation of the ``parts``. The separator between elements is the string providing this method.
- Example:
- ::
- print(", ".join(["One", "Two", "Three", "Four"]))
- .. rst-class:: classref-item-separator
- ----
- .. _class_String_method_json_escape:
- .. rst-class:: classref-method
- :ref:`String<class_String>` **json_escape** **(** **)**
- Returns a copy of the string with special characters escaped using the JSON standard.
- .. rst-class:: classref-item-separator
- ----
- .. _class_String_method_left:
- .. rst-class:: classref-method
- :ref:`String<class_String>` **left** **(** :ref:`int<class_int>` position **)**
- Returns a number of characters from the left of the string.
- .. rst-class:: classref-item-separator
- ----
- .. _class_String_method_length:
- .. rst-class:: classref-method
- :ref:`int<class_int>` **length** **(** **)**
- Returns the string's amount of characters.
- .. rst-class:: classref-item-separator
- ----
- .. _class_String_method_lstrip:
- .. rst-class:: classref-method
- :ref:`String<class_String>` **lstrip** **(** :ref:`String<class_String>` chars **)**
- Returns a copy of the string with characters removed from the left. The ``chars`` argument is a string specifying the set of characters to be removed.
- \ **Note:** The ``chars`` is not a prefix. See :ref:`trim_prefix<class_String_method_trim_prefix>` method that will remove a single prefix string rather than a set of characters.
- .. rst-class:: classref-item-separator
- ----
- .. _class_String_method_match:
- .. rst-class:: classref-method
- :ref:`bool<class_bool>` **match** **(** :ref:`String<class_String>` expr **)**
- Does a simple expression match (also called "glob" or "globbing"), where ``*`` matches zero or more arbitrary characters and ``?`` matches any single character except a period (``.``). An empty string or empty expression always evaluates to ``false``.
- .. rst-class:: classref-item-separator
- ----
- .. _class_String_method_matchn:
- .. rst-class:: classref-method
- :ref:`bool<class_bool>` **matchn** **(** :ref:`String<class_String>` expr **)**
- Does a simple **case-insensitive** expression match, where ``*`` matches zero or more arbitrary characters and ``?`` matches any single character except a period (``.``). An empty string or empty expression always evaluates to ``false``.
- .. rst-class:: classref-item-separator
- ----
- .. _class_String_method_md5_buffer:
- .. rst-class:: classref-method
- :ref:`PoolByteArray<class_PoolByteArray>` **md5_buffer** **(** **)**
- Returns the MD5 hash of the string as an array of bytes.
- .. rst-class:: classref-item-separator
- ----
- .. _class_String_method_md5_text:
- .. rst-class:: classref-method
- :ref:`String<class_String>` **md5_text** **(** **)**
- Returns the MD5 hash of the string as a string.
- .. rst-class:: classref-item-separator
- ----
- .. _class_String_method_naturalnocasecmp_to:
- .. rst-class:: classref-method
- :ref:`int<class_int>` **naturalnocasecmp_to** **(** :ref:`String<class_String>` to **)**
- Performs a case-insensitive *natural order* comparison to another string. Returns ``-1`` if less than, ``1`` if greater than, or ``0`` if equal. "less than" or "greater than" are determined by the `Unicode code points <https://en.wikipedia.org/wiki/List_of_Unicode_characters>`__ of each string, which roughly matches the alphabetical order. Internally, lowercase characters will be converted to uppercase during the comparison.
- When used for sorting, natural order comparison will order suites of numbers as expected by most people. If you sort the numbers from 1 to 10 using natural order, you will get ``[1, 2, 3, ...]`` instead of ``[1, 10, 2, 3, ...]``.
- \ **Behavior with different string lengths:** Returns ``1`` if the "base" string is longer than the ``to`` string or ``-1`` if the "base" string is shorter than the ``to`` string. Keep in mind this length is determined by the number of Unicode codepoints, *not* the actual visible characters.
- \ **Behavior with empty strings:** Returns ``-1`` if the "base" string is empty, ``1`` if the ``to`` string is empty or ``0`` if both strings are empty.
- To get a boolean result from a string comparison, use the ``==`` operator instead. See also :ref:`nocasecmp_to<class_String_method_nocasecmp_to>` and :ref:`casecmp_to<class_String_method_casecmp_to>`.
- .. rst-class:: classref-item-separator
- ----
- .. _class_String_method_nocasecmp_to:
- .. rst-class:: classref-method
- :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. "less than" or "greater than" are determined by the `Unicode code points <https://en.wikipedia.org/wiki/List_of_Unicode_characters>`__ of each string, which roughly matches the alphabetical order. Internally, lowercase characters will be converted to uppercase during the comparison.
- \ **Behavior with different string lengths:** Returns ``1`` if the "base" string is longer than the ``to`` string or ``-1`` if the "base" string is shorter than the ``to`` string. Keep in mind this length is determined by the number of Unicode codepoints, *not* the actual visible characters.
- \ **Behavior with empty strings:** Returns ``-1`` if the "base" string is empty, ``1`` if the ``to`` string is empty or ``0`` if both strings are empty.
- To get a boolean result from a string comparison, use the ``==`` operator instead. See also :ref:`casecmp_to<class_String_method_casecmp_to>`.
- .. rst-class:: classref-item-separator
- ----
- .. _class_String_method_ord_at:
- .. rst-class:: classref-method
- :ref:`int<class_int>` **ord_at** **(** :ref:`int<class_int>` at **)**
- Returns the character code at position ``at``.
- .. rst-class:: classref-item-separator
- ----
- .. _class_String_method_pad_decimals:
- .. rst-class:: classref-method
- :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.
- .. rst-class:: classref-item-separator
- ----
- .. _class_String_method_pad_zeros:
- .. rst-class:: classref-method
- :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.
- .. rst-class:: classref-item-separator
- ----
- .. _class_String_method_percent_decode:
- .. rst-class:: classref-method
- :ref:`String<class_String>` **percent_decode** **(** **)**
- Decode a percent-encoded string (also called URI-encoded string). See also :ref:`percent_encode<class_String_method_percent_encode>`.
- .. rst-class:: classref-item-separator
- ----
- .. _class_String_method_percent_encode:
- .. rst-class:: classref-method
- :ref:`String<class_String>` **percent_encode** **(** **)**
- Percent-encodes a string (also called URI-encoded string). Encodes parameters in a URL when sending a HTTP GET request (and bodies of form-urlencoded POST requests). See also :ref:`percent_decode<class_String_method_percent_decode>`.
- .. rst-class:: classref-item-separator
- ----
- .. _class_String_method_plus_file:
- .. rst-class:: classref-method
- :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"``.
- .. rst-class:: classref-item-separator
- ----
- .. _class_String_method_repeat:
- .. rst-class:: classref-method
- :ref:`String<class_String>` **repeat** **(** :ref:`int<class_int>` count **)**
- Returns original string repeated a number of times. The number of repetitions is given by the argument.
- .. rst-class:: classref-item-separator
- ----
- .. _class_String_method_replace:
- .. rst-class:: classref-method
- :ref:`String<class_String>` **replace** **(** :ref:`String<class_String>` what, :ref:`String<class_String>` forwhat **)**
- Replaces occurrences of a case-sensitive substring with the given one inside the string.
- .. rst-class:: classref-item-separator
- ----
- .. _class_String_method_replacen:
- .. rst-class:: classref-method
- :ref:`String<class_String>` **replacen** **(** :ref:`String<class_String>` what, :ref:`String<class_String>` forwhat **)**
- Replaces occurrences of a case-insensitive substring with the given one inside the string.
- .. rst-class:: classref-item-separator
- ----
- .. _class_String_method_rfind:
- .. rst-class:: classref-method
- :ref:`int<class_int>` **rfind** **(** :ref:`String<class_String>` what, :ref:`int<class_int>` from=-1 **)**
- Performs a case-sensitive search for a substring, but starts from the end of the string instead of the beginning.
- .. rst-class:: classref-item-separator
- ----
- .. _class_String_method_rfindn:
- .. rst-class:: classref-method
- :ref:`int<class_int>` **rfindn** **(** :ref:`String<class_String>` what, :ref:`int<class_int>` from=-1 **)**
- Performs a case-insensitive search for a substring, but starts from the end of the string instead of the beginning.
- .. rst-class:: classref-item-separator
- ----
- .. _class_String_method_right:
- .. rst-class:: classref-method
- :ref:`String<class_String>` **right** **(** :ref:`int<class_int>` position **)**
- Returns the right side of the string from a given position.
- .. rst-class:: classref-item-separator
- ----
- .. _class_String_method_rsplit:
- .. rst-class:: classref-method
- :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 ``allow_empty`` is ``true``, and there are two adjacent delimiters in the string, it will add an empty string to the array of substrings at this position.
- 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 "One,Two,Three"
- print(some_array[1]) # Prints "Four"
- .. rst-class:: classref-item-separator
- ----
- .. _class_String_method_rstrip:
- .. rst-class:: classref-method
- :ref:`String<class_String>` **rstrip** **(** :ref:`String<class_String>` chars **)**
- Returns a copy of the string with characters removed from the right. The ``chars`` argument is a string specifying the set of characters to be removed.
- \ **Note:** The ``chars`` is not a suffix. See :ref:`trim_suffix<class_String_method_trim_suffix>` method that will remove a single suffix string rather than a set of characters.
- .. rst-class:: classref-item-separator
- ----
- .. _class_String_method_sha1_buffer:
- .. rst-class:: classref-method
- :ref:`PoolByteArray<class_PoolByteArray>` **sha1_buffer** **(** **)**
- Returns the SHA-1 hash of the string as an array of bytes.
- .. rst-class:: classref-item-separator
- ----
- .. _class_String_method_sha1_text:
- .. rst-class:: classref-method
- :ref:`String<class_String>` **sha1_text** **(** **)**
- Returns the SHA-1 hash of the string as a string.
- .. rst-class:: classref-item-separator
- ----
- .. _class_String_method_sha256_buffer:
- .. rst-class:: classref-method
- :ref:`PoolByteArray<class_PoolByteArray>` **sha256_buffer** **(** **)**
- Returns the SHA-256 hash of the string as an array of bytes.
- .. rst-class:: classref-item-separator
- ----
- .. _class_String_method_sha256_text:
- .. rst-class:: classref-method
- :ref:`String<class_String>` **sha256_text** **(** **)**
- Returns the SHA-256 hash of the string as a string.
- .. rst-class:: classref-item-separator
- ----
- .. _class_String_method_similarity:
- .. rst-class:: classref-method
- :ref:`float<class_float>` **similarity** **(** :ref:`String<class_String>` text **)**
- Returns the similarity index (`Sorensen-Dice coefficient <https://en.wikipedia.org/wiki/S%C3%B8rensen%E2%80%93Dice_coefficient>`__) of this string compared to another. A result of 1.0 means totally similar, while 0.0 means totally dissimilar.
- ::
- print("ABC123".similarity("ABC123")) # Prints "1"
- print("ABC123".similarity("XYZ456")) # Prints "0"
- print("ABC123".similarity("123ABC")) # Prints "0.8"
- print("ABC123".similarity("abc123")) # Prints "0.4"
- .. rst-class:: classref-item-separator
- ----
- .. _class_String_method_simplify_path:
- .. rst-class:: classref-method
- :ref:`String<class_String>` **simplify_path** **(** **)**
- Returns a simplified canonical path.
- .. rst-class:: classref-item-separator
- ----
- .. _class_String_method_split:
- .. rst-class:: classref-method
- :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. The ``delimiter`` can be of any length.
- If ``allow_empty`` is ``true``, and there are two adjacent delimiters in the string, it will add an empty string to the array of substrings at this position.
- 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.
- If you need only one element from the array at a specific index, :ref:`get_slice<class_String_method_get_slice>` is a more performant option.
- 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"
- If you need to split strings with more complex rules, use the :ref:`RegEx<class_RegEx>` class instead.
- .. rst-class:: classref-item-separator
- ----
- .. _class_String_method_split_floats:
- .. rst-class:: classref-method
- :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.
- For example, ``"1,2.5,3"`` will return ``[1,2.5,3]`` if split by ``","``.
- If ``allow_empty`` is ``true``, and there are two adjacent delimiters in the string, it will add an empty string to the array of substrings at this position.
- .. rst-class:: classref-item-separator
- ----
- .. _class_String_method_strip_edges:
- .. rst-class:: classref-method
- :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 (including tabulations, spaces and line breaks) at the beginning and the end. The optional arguments are used to toggle stripping on the left and right edges respectively.
- .. rst-class:: classref-item-separator
- ----
- .. _class_String_method_strip_escapes:
- .. rst-class:: classref-method
- :ref:`String<class_String>` **strip_escapes** **(** **)**
- Returns a copy of the string stripped of any escape character. These include all non-printable control characters of the first page of the ASCII table (< 32), such as tabulation (``\t`` in C) and newline (``\n`` and ``\r``) characters, but not spaces.
- .. rst-class:: classref-item-separator
- ----
- .. _class_String_method_substr:
- .. rst-class:: classref-method
- :ref:`String<class_String>` **substr** **(** :ref:`int<class_int>` from, :ref:`int<class_int>` len=-1 **)**
- Returns part of the string from the position ``from`` with length ``len``. Argument ``len`` is optional and using ``-1`` will return remaining characters from given position.
- .. rst-class:: classref-item-separator
- ----
- .. _class_String_method_to_ascii:
- .. rst-class:: classref-method
- :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 faster compared to :ref:`to_utf8<class_String_method_to_utf8>`, as this method assumes that all the characters in the String are ASCII characters.
- .. rst-class:: classref-item-separator
- ----
- .. _class_String_method_to_float:
- .. rst-class:: classref-method
- :ref:`float<class_float>` **to_float** **(** **)**
- Converts a string containing a decimal number into a ``float``. The method will stop on the first non-number character except the first ``.`` (decimal point), and ``e`` which is used for exponential.
- ::
- print("12.3".to_float()) # 12.3
- print("1.2.3".to_float()) # 1.2
- print("12ab3".to_float()) # 12
- print("1e3".to_float()) # 1000
- .. rst-class:: classref-item-separator
- ----
- .. _class_String_method_to_int:
- .. rst-class:: classref-method
- :ref:`int<class_int>` **to_int** **(** **)**
- Converts a string containing an integer number into an ``int``. The method will remove any non-number character and stop if it encounters a ``.``.
- ::
- print("123".to_int()) # 123
- print("a1b2c3".to_int()) # 123
- print("1.2.3".to_int()) # 1
- .. rst-class:: classref-item-separator
- ----
- .. _class_String_method_to_lower:
- .. rst-class:: classref-method
- :ref:`String<class_String>` **to_lower** **(** **)**
- Returns the string converted to lowercase.
- .. rst-class:: classref-item-separator
- ----
- .. _class_String_method_to_upper:
- .. rst-class:: classref-method
- :ref:`String<class_String>` **to_upper** **(** **)**
- Returns the string converted to uppercase.
- .. rst-class:: classref-item-separator
- ----
- .. _class_String_method_to_utf8:
- .. rst-class:: classref-method
- :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>`.
- .. rst-class:: classref-item-separator
- ----
- .. _class_String_method_to_wchar:
- .. rst-class:: classref-method
- :ref:`PoolByteArray<class_PoolByteArray>` **to_wchar** **(** **)**
- Converts the String (which is an array of characters) to :ref:`PoolByteArray<class_PoolByteArray>` (which is an array of bytes).
- .. rst-class:: classref-item-separator
- ----
- .. _class_String_method_trim_prefix:
- .. rst-class:: classref-method
- :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.
- .. rst-class:: classref-item-separator
- ----
- .. _class_String_method_trim_suffix:
- .. rst-class:: classref-method
- :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.
- .. rst-class:: classref-item-separator
- ----
- .. _class_String_method_validate_node_name:
- .. rst-class:: classref-method
- :ref:`String<class_String>` **validate_node_name** **(** **)**
- Removes any characters from the string that are prohibited in :ref:`Node<class_Node>` names (``.`` ``:`` ``@`` ``/`` ``"``).
- .. rst-class:: classref-item-separator
- ----
- .. _class_String_method_xml_escape:
- .. rst-class:: classref-method
- :ref:`String<class_String>` **xml_escape** **(** **)**
- Returns a copy of the string with special characters escaped using the XML standard.
- .. rst-class:: classref-item-separator
- ----
- .. _class_String_method_xml_unescape:
- .. rst-class:: classref-method
- :ref:`String<class_String>` **xml_unescape** **(** **)**
- Returns a copy of the string with escaped characters replaced by their meanings according to the XML standard.
- .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
- .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
- .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`
- .. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
|