String.explode
From Multi Theft Auto: Wiki
This function splits a string at a given separator (pattern) and stores the pieces in a table. It's the complement of table.concat.
There is already an MTA function called split that splits a string at a given separator. But this function only supports single character separators and no regular expressions. For splitting at a single character you should prefer that function since it's probably faster than string.explode.
Syntax
table string.explode( string ensemble, string separator )
Required Arguments
- ensemble: The string to split.
- separator: The regular expression pattern, which the ensemble should be split at.
Returns
Returns a table containing the pieces of the split ensemble.
Code
NOTE: This function requires function Check in order to work correctly.
Click to collapse [-]
Server- and/or clientside Scriptfunction string.explode(self, separator) Check("string.explode", "string", self, "ensemble", "string", separator, "separator") if (#self == 0) then return {} end if (#separator == 0) then return { self } end return loadstring("return {\""..self:gsub(separator, "\",\"").."\"}")() end
Example
Click to collapse [-]
ServerThis example sends a welcome message to a player e.g. when joining a roleplay server.
-- get the root element local _root = getRootElement() -- define the onPlayerJoin handler function function OnPlayerJoin() -- get the player's name local playername = getPlayerNametagText(source) -- split the player's name to first and last name playername = playername:explode("%.") -- since . is a wildcard we have to escape it with a % -- send a welcome message outputChatBox("Welcome on our roleplay server, Mr./Mrs./Ms. "..playername[2]..".", source) end -- add the event handler addEventHandler("onPlayerJoin", _root, OnPlayerJoin)
Author: NeonBlack
See Also
- callClientFunction » This function allows you to call any clientside function from the server's side.
- callServerFunction » This function allows you to call any server-side function from the client's side.
- Check » This function checks if it's arguments are of the right types and calls the error-function if one isn't.
- doForAllElements » This function can be used to execute a specified function for all elements of a specified type.
- iterElements » Returns an iterator for your for loops saving time typing ipairs( getElementsByType( type ) ), instead you type: iterElements( type ).
- findRotation » Takes two points and returns the direction from point A to point B.
- FormatDate » Formats a date on the basis of a format string and returns it.
- getAge » This function calculates the age of a birthday.
- getPointFromDistanceRotation » Finds a point based on a starting point, direction and distance.
- getTimestamp » With this function you can get the UNIX timestamp.
- IfElse » Returns one of two values based on a boolean expression.
- isLeapYear » Checks if the given year is a leap year.
- math.round » Rounds a number whereas the number of decimals to keep and the method may be set.
- setTableProtected » Protects a table and makes it read-only.
- setVehicleGravityPoint » This clientside function sets a vehicle's gravity in the direction of a 3 dimensional coordinate with the strength specified.
- string.explode » This function splits a string at a given separator pattern and returns a table with the pieces.
- table.copy » This function copies a whole table and all the tables in that table.
- table.map » This function goes through a table and replaces every field with the return of the passed function, where the field's value is passed as first argument and optionally more arguments.
- table.size » Finds the absolute size of a table.
- var_dump »This function outputs information about one or more variables using outputConsole().
- RGBToHex » This function returns a string representing the color in hexadecimal.
- getAlivePlayersInTeam » This function returns a table of the alive players in a team.
- getResourceSettings » This function returns a table of the resource settings.
- onVehicleWeaponFire » This code implements an event that is triggered when a player in a vehicle fires a vehicles weapon.
- toHex » This function converts a decimal number to a hexadecimal number, as a fix to be used clientside.
- getElementSpeed » This function allows you to get element speed in kph or mph units.
- setElementSpeed » This function allows you to set moving element speed in kph or mph units.
- centerWindow » This function center the window in any resolution.
- coroutine.resume » Fix for hidden coroutine error messages
- getPlayerFromNamePart » This function allows you to get player From his Name part.