string/find

From Garry's Mod
(Difference between revisions)
Jump to: navigation, search
m (Updated the example)
m
Line 39: Line 39:
 
}}
 
}}
 
{{Example
 
{{Example
|Description=Prevent the player from sending messages with the F word inside
+
|Description=Change the world "fuck" to "****" in chat messages
 
|Code=hook.Add( "PlayerSay", "PreventTheFWord", function( ply, text )
 
|Code=hook.Add( "PlayerSay", "PreventTheFWord", function( ply, text )
 
local fStart, fEnd = string.find( text:lower(), "fuck" )
 
local fStart, fEnd = string.find( text:lower(), "fuck" )

Revision as of 16:56, 22 May 2017

 string.find( )

Contents

Description

Attempts to find the specified substring in a string, uses Patterns by default.

Arguments

string haystack

The string to search in.

Arguments

string needle

The string to find, can contain patterns if enabled.

Arguments

number startPos=1

The position to start the search from, can be negative start position will be relative to the end position.

Arguments

boolean noPatterns=false

Disable patterns.

Returns

number

Starting position of the found text

Returns

number

Ending position of found text

Returns

string

Matched text for each group if patterns are enabled and used

Examples

Example

Change the world "fuck" to "****" in chat messages

hook.Add( "PlayerSay", "PreventTheFWord", function( ply, text )
	local fStart, fEnd = string.find( text:lower(), "fuck" )
	if fStart then
		local civilText = string.sub( text, 1, fStart - 1 ) .. "****" .. string.sub( text, fEnd + 1 )
		return civilText
	end
end )


Personal tools
Navigation