Lumesh 字符串处理模块使用文档
模块路径:string
功能说明:提供全面的字符串操作功能,包括字符属性检测、文本分割、格式转换和高级处理。支持两种调用方式:
- 函数式调用:
string.func(arg0, arg1...)
- 命令式调用:
string.func arg0 arg1...
函数分类及详细说明
一、字符属性检测
string.is_empty
功能:检测字符串是否全为空白字符
参数:text: string
返回值:boolean
示例:string.is_empty "" # => true
string.is_whitespace
功能:检测字符串是否全为空白字符
参数:text: string
返回值:boolean
示例:string.is_whitespace " \t\n" # => true
string.is_alpha
功能:检测字符串是否全为字母
参数:text: string
返回值:boolean
示例:string.is_alpha "Hello" # => true
string.is_alphanumeric
功能:检测字符串是否全为字母或数字
参数:text: string
返回值:boolean
示例:string.is_alphanumeric "R2D2" # => true
string.is_numeric
功能:检测字符串是否全为数字
参数:text: string
返回值:boolean
示例:string.is_numeric "³Ⅳ" # => true (支持Unicode数字)
string.is_lower
功能:检测字符串是否全为小写字母
参数:text: string
返回值:boolean
示例:string.is_lower "hello" # => true
string.is_upper
功能:检测字符串是否全为大写字母
参数:text: string
返回值:boolean
示例:string.is_upper "HELLO" # => true
string.is_title
功能:检测字符串是否为标题格式(每个单词首字母大写)
参数:text: string
返回值:boolean
示例:string.is_title "Hello World" # => true
二、子串检查
string.starts_with
功能:检测字符串是否以指定子串开头
参数:prefix: string
text: string
返回值:boolean
示例:
string.starts_with "He" "Hello" # => true
string.ends_with
功能:检测字符串是否以指定子串结尾
参数:suffix: string
text: string
返回值:boolean
示例:
string.ends_with "lo" "Hello" # => true
string.contains
功能:检测字符串是否包含指定子串
参数:substring: string
text: string
返回值:boolean
示例:
string.contains "ell" "Hello" # => true
三、文本分割
string.split
功能:按分隔符分割字符串
参数:delimiter: string
text: string
返回值:[part1, part2, ...]
示例:
string.split ";" "a;b;c" # => ["a", "b", "c"]
string.split_at
功能:在指定索引处分割字符串
参数:index: integer
text: string
返回值:[left_part, right_part]
示例:
string.split_at 2 "Hello" # => ["He", "llo"]
string.chars
功能:将字符串分割为字符列表
参数:text: string
返回值:[char1, char2, ...]
示例:string.chars "ABC" # => ["A", "B", "C"]
string.words
功能:按空白符分割单词
参数:text: string
返回值:[word1, word2, ...]
示例:string.words "hello world" # => ["hello", "world"]
string.lines
功能:按换行符分割文本行
参数:text: string
返回值:[line1, line2, ...]
示例:string.lines "a\nb" # => ["a", "b"]
string.paragraphs
功能:按空行分割段落
参数:text: string
返回值:[para1, para2, ...]
示例:string.paragraphs "a\n\nb" # => ["a", "b"]
四、文本修改
string.repeat
功能:重复字符串指定次数
参数:count: integer
text: string
返回值:string
示例:
string.repeat 3 "a" # => "aaa"
string.replace
功能:替换所有匹配的子串
参数:from: string
to: string
text: string
返回值:string
示例:
string.replace "l" "x" "hello" # => "hexxo"
string.substring
功能:截取子字符串
参数:start: integer
(支持负索引)end: integer
(可选,支持负索引)text: string
返回值:string
示例:
string.substring 1 3 "Hello" # => "el"
string.substring -3 -1 "Hello" # => "ll"string.remove_prefix
功能:移除前缀(如果存在)
参数:prefix: string
text: string
返回值:string
示例:
string.remove_prefix "He" "Hello" # => "llo"
string.remove_suffix
功能:移除后缀(如果存在)
参数:suffix: string
text: string
返回值:string
示例:
string.remove_suffix "lo" "Hello" # => "Hel"
string.trim
功能:移除首尾空白符
参数:text: string
返回值:string
示例:string.trim " a " # => "a"
string.trim_start
功能:移除开头空白符
参数:text: string
返回值:string
示例:string.trim_start " a" # => "a"
string.trim_end
功能:移除结尾空白符
参数:text: string
返回值:string
示例:string.trim_end "a " # => "a"
string.to_lower
功能:转换为小写
参数:text: string
返回值:string
示例:string.to_lower "HeLLo" # => "hello"
string.to_upper
功能:转换为大写
参数:text: string
返回值:string
示例:string.to_upper "hello" # => "HELLO"
string.to_title
功能:转换为标题格式
参数:text: string
返回值:string
示例:string.to_title "hello world" # => "Hello World"
五、高级功能
string.caesar
功能:凯撒密码加密
参数:shift: integer
(可选,默认13)text: string
返回值:string
示例:
string.caesar "ABC" # => "NOP" (默认偏移13)
string.caesar 3 "ABC" # => "DEF"string.get_width
功能:获取文本最大行宽
参数:text: string
返回值:integer
示例:string.get_width "a\nbb\nccc" # => 3
通用规则
索引处理:
- 正索引从0开始
- 索引越界时抛出异常
空白符定义:
包括空格、制表符、换行符等Unicode空白字符错误处理:
- 参数类型错误时抛出异常