Revision Difference
string.Explode#517533
<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>
<arg name="use_patterns" type="boolean">Set this to true if your separator is a <page text="pattern">Patterns</page>.</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>