Lumesh String 模块

wiki libs

Lumesh 字符串处理模块使用文档

模块路径string
功能说明:提供全面的字符串操作功能,包括字符属性检测、文本分割、格式转换和高级处理。支持两种调用方式:

  • 函数式调用:string.func(arg0, arg1...)
  • 命令式调用:string.func arg0 arg1...

函数分类及详细说明

一、字符属性检测
  1. string.is_empty
    功能:检测字符串是否全为空白字符
    参数text: string
    返回值boolean
    示例

    string.is_empty ""  # => true
  2. string.is_whitespace
    功能:检测字符串是否全为空白字符
    参数text: string
    返回值boolean
    示例

    string.is_whitespace " \t\n"  # => true
  3. string.is_alpha
    功能:检测字符串是否全为字母
    参数text: string
    返回值boolean
    示例

    string.is_alpha "Hello"  # => true
  4. string.is_alphanumeric
    功能:检测字符串是否全为字母或数字
    参数text: string
    返回值boolean
    示例

    string.is_alphanumeric "R2D2"  # => true
  5. string.is_numeric
    功能:检测字符串是否全为数字
    参数text: string
    返回值boolean
    示例

    string.is_numeric "³Ⅳ"  # => true (支持Unicode数字)
  6. string.is_lower
    功能:检测字符串是否全为小写字母
    参数text: string
    返回值boolean
    示例

    string.is_lower "hello"  # => true
  7. string.is_upper
    功能:检测字符串是否全为大写字母
    参数text: string
    返回值boolean
    示例

    string.is_upper "HELLO"  # => true
  8. string.is_title
    功能:检测字符串是否为标题格式(每个单词首字母大写)
    参数text: string
    返回值boolean
    示例

    string.is_title "Hello World"  # => true

二、子串检查
  1. string.starts_with
    功能:检测字符串是否以指定子串开头
    参数

    • prefix: string
    • text: string
      返回值boolean
      示例
    string.starts_with "He" "Hello"  # => true
  2. string.ends_with
    功能:检测字符串是否以指定子串结尾
    参数

    • suffix: string
    • text: string
      返回值boolean
      示例
    string.ends_with "lo" "Hello"  # => true
  3. string.contains
    功能:检测字符串是否包含指定子串
    参数

    • substring: string
    • text: string
      返回值boolean
      示例
    string.contains "ell" "Hello"  # => true

三、文本分割
  1. string.split
    功能:按分隔符分割字符串
    参数

    • delimiter: string
    • text: string
      返回值[part1, part2, ...]
      示例
    string.split ";" "a;b;c"  # => ["a", "b", "c"]
  2. string.split_at
    功能:在指定索引处分割字符串
    参数

    • index: integer
    • text: string
      返回值[left_part, right_part]
      示例
    string.split_at 2 "Hello"  # => ["He", "llo"]
  3. string.chars
    功能:将字符串分割为字符列表
    参数text: string
    返回值[char1, char2, ...]
    示例

    string.chars "ABC"  # => ["A", "B", "C"]
  4. string.words
    功能:按空白符分割单词
    参数text: string
    返回值[word1, word2, ...]
    示例

    string.words "hello world"  # => ["hello", "world"]
  5. string.lines
    功能:按换行符分割文本行
    参数text: string
    返回值[line1, line2, ...]
    示例

    string.lines "a\nb"  # => ["a", "b"]
  6. string.paragraphs
    功能:按空行分割段落
    参数text: string
    返回值[para1, para2, ...]
    示例

    string.paragraphs "a\n\nb"  # => ["a", "b"]

四、文本修改
  1. string.repeat
    功能:重复字符串指定次数
    参数

    • count: integer
    • text: string
      返回值string
      示例
    string.repeat 3 "a"  # => "aaa"
  2. string.replace
    功能:替换所有匹配的子串
    参数

    • from: string
    • to: string
    • text: string
      返回值string
      示例
    string.replace "l" "x" "hello"  # => "hexxo"
  3. string.substring
    功能:截取子字符串
    参数

    • start: integer(支持负索引)
    • end: integer(可选,支持负索引)
    • text: string
      返回值string
      示例
    string.substring 1 3 "Hello"  # => "el"
    string.substring -3 -1 "Hello" # => "ll"
  4. string.remove_prefix
    功能:移除前缀(如果存在)
    参数

    • prefix: string
    • text: string
      返回值string
      示例
    string.remove_prefix "He" "Hello"  # => "llo"
  5. string.remove_suffix
    功能:移除后缀(如果存在)
    参数

    • suffix: string
    • text: string
      返回值string
      示例
    string.remove_suffix "lo" "Hello"  # => "Hel"
  6. string.trim
    功能:移除首尾空白符
    参数text: string
    返回值string
    示例

    string.trim " a "  # => "a"
  7. string.trim_start
    功能:移除开头空白符
    参数text: string
    返回值string
    示例

    string.trim_start " a"  # => "a"
  8. string.trim_end
    功能:移除结尾空白符
    参数text: string
    返回值string
    示例

    string.trim_end "a "  # => "a"
  9. string.to_lower
    功能:转换为小写
    参数text: string
    返回值string
    示例

    string.to_lower "HeLLo"  # => "hello"
  10. string.to_upper
    功能:转换为大写
    参数text: string
    返回值string
    示例

    string.to_upper "hello"  # => "HELLO"

  11. string.to_title
    功能:转换为标题格式
    参数text: string
    返回值string
    示例

    string.to_title "hello world"  # => "Hello World"


五、高级功能
  1. string.caesar
    功能:凯撒密码加密
    参数

    • shift: integer(可选,默认13)
    • text: string
      返回值string
      示例
    string.caesar "ABC"  # => "NOP" (默认偏移13)
    string.caesar 3 "ABC" # => "DEF"
  2. string.get_width
    功能:获取文本最大行宽
    参数text: string
    返回值integer
    示例

    string.get_width "a\nbb\nccc"  # => 3

通用规则

  1. 索引处理

    • 正索引从0开始
    • 索引越界时抛出异常
  2. 空白符定义
    包括空格、制表符、换行符等Unicode空白字符

  3. 错误处理

    • 参数类型错误时抛出异常