Lua String Manipulation
Learn Lua through interactive, bite-sized lessons. Master scripting and game development.
Start Lua Journey →String manipulation is a crucial aspect of programming in Lua. It allows developers to work with text data efficiently, enabling tasks such as parsing, formatting, and transforming strings.
Basic String Operations
Concatenation
In Lua, strings can be concatenated using the .. operator. This is a simple yet powerful way to combine strings:
local greeting = "Hello"
local name = "World"
local message = greeting .. ", " .. name .. "!"
print(message) -- Output: Hello, World!
Length Operator
To find the length of a string, use the # operator:
local text = "Lua"
print(#text) -- Output: 3
String Library Functions
Lua provides a comprehensive string library with various functions for string manipulation. Here are some commonly used functions:
string.sub()
Extract a substring from a given string:
local text = "Lua Programming"
local substring = string.sub(text, 1, 3)
print(substring) -- Output: Lua
string.upper() and string.lower()
Convert strings to uppercase or lowercase:
local text = "Lua"
print(string.upper(text)) -- Output: LUA
print(string.lower(text)) -- Output: lua
string.gsub()
Perform global string replacement:
local text = "Lua is cool"
local newText = string.gsub(text, "cool", "awesome")
print(newText) -- Output: Lua is awesome
Pattern Matching
Lua offers powerful pattern matching capabilities through its string.match() and string.gmatch() functions. These functions use Lua's pattern matching syntax, which is similar to regular expressions but with some differences.
string.match()
Find the first occurrence of a pattern in a string:
local text = "Lua version 5.4"
local version = string.match(text, "%d+%.%d+")
print(version) -- Output: 5.4
string.gmatch()
Iterate over all occurrences of a pattern in a string:
local text = "apple, banana, cherry"
for fruit in string.gmatch(text, "%w+") do
print(fruit)
end
-- Output:
-- apple
-- banana
-- cherry
Best Practices
- Use the
string.format()function for complex string formatting tasks. - When working with large strings, consider using Lua Table Concatenation for better performance.
- Be cautious with pattern matching on user input to avoid potential security vulnerabilities.
- Utilize Lua Type Conversion when working with mixed data types in strings.
Mastering string manipulation in Lua is essential for effective text processing and data handling. By combining these techniques with other Lua features like Lua Table Basics and Lua Function Basics, you can create powerful and efficient string-processing algorithms.