Garry's Mod Wiki

Revision Difference

string.Explode#511990

<function name="Explode" parent="string" type="libraryfunc">⤶ <description>⤶ Splits a string up wherever it finds the given separator.⤶ ⤶ This is the reverse of <page>string.Implode</page>.⤶ </description>⤶ <realm>Shared and Menu</realm>⤶ <file line="81">lua/includes/extensions/string.lua</file>⤶ <args>⤶ <arg name="separator" type="string">The string will be separated wherever this sequence is found.</arg>⤶ <arg name="str" type="string">The string to split up.</arg>⤶ <arg name="use_patterns" type="boolean">Set this to true if your separator is a [pattern](/gmod/Patterns).</arg>⤶ </args>⤶ <rets>⤶ <ret name="" type="table">Exploded string as a numerical sequential table.</ret>⤶ </rets>⤶ </function>⤶ ⤶ <example>⤶ <description>Splits a sentence into a table of the words in it.</description>⤶ <code>⤶ local sentence = "hello there my name is Player1"⤶ local words = string.Explode( " ", sentence )⤶ PrintTable( words )⤶ </code>⤶ <outputfixedwidth>Fixed width</outputfixedwidth>⤶ <output>⤶ 1 = hello⤶ 2 = there⤶ 3 = my⤶ 4 = name⤶ 5 = is⤶ 6 = Player1⤶ </output>⤶ ⤶ </example>⤶ ⤶ ⤶ <example>⤶ <description>Uses Explode to sort through words that a player says.</description>⤶ <code>⤶ hook.Add( "PlayerSay", "GiveHealth", function( ply, text )⤶ local playerInput = string.Explode( " ", text )⤶ ⤶ if ( playerInput[1] == "!givehealth" ) then ⤶ ⤶ if ( tonumber( playerInput[2] ) ) then⤶ ⤶ ply:SetHealth( tonumber( playerInput[2] ) )⤶ ⤶ print( ply:Nick() .. " set their health to " .. playerInput[2] )⤶ ⤶ end⤶ ⤶ end⤶ ⤶ end)⤶ </code>⤶ <outputfixedwidth>Fixed width</outputfixedwidth>⤶ <output>Player1 set their health to 100.</output>⤶ ⤶ </example>