字符串 string API

Table of Contents 字符串 string APIstring.format(formatstring,str...)string.byte (str,index)string.char (···)string.find (str, substr, index,plain)string.gsub (s, pattern, repl)string.lower (str)string.upper (str)string.reverse (str)string.len (str)string.rep (str, n,sep)string.gmatch(str, pattern)

string.format(formatstring,str...)

  • Ctrl + 鼠标左键 ↗ (箭头的方向) 可以查看格式文档

  • formatstring

    • 需要格式化的字符串
  • str...

    • 是一个多参数,填充formatstring需要替换的字符

      local str = string.format("format this string %s %s","www","eee")

      print(str)
      --得到结果 format this string www eee


string.byte (str,index)

  • str:

    • 需要处理的字符串
  • index:

    • 需要处理字符串的下标
  • return 返回ASCII码表

  • 取str的第index个字符来转换成ASCII码,返回得出结果

    local value = string.byte("abcd",1)

    print(value)
    --得到结果 => 97

    local value = string.byte("abcd",2)

    print(value)
    --得到结果 => 98

  • 如果不填index默认是1

    local value = string.byte("abcd")

    print(value)
    --得到结果 => 97

  • 如果填负数就是 倒数第index个字符

    local value = string.byte("abcd",-1)

    print(value)
    --得到结果 => 100


string.char (···)

  • params ... 传入多个整数数字类型(ASCII码)

  • return 先把每一个数字转换成对应的ASCII码字符,然后依次拼接起来

    local value = string.char(97,98,99,100)

    print(value)
    --得到结果 => abcd

  • 如果只有一个数字,就返回这个数字的ASCII码字符

    local value = string.char(97)

    print(value)
    --得到结果 => a


string.find (str, substr, index,plain)

  • str

    • 需要处理的字符串
  • substr

    • 需要查找的字符串
  • index

    • str从第几个字符串开始查起
  • plain

    • 如果为true,关闭模式匹配机制
  • 返回值:substr匹配到str 开始到结束的位置信息

    local indexStart,indexEnd = string.find("Hello Lua user", "Lua", 1)

    print(indexStart,indexEnd)
    --得到结果 => 7,9


string.gsub (s, pattern, repl)

string.lower (str)

  • 将str的所有大写字母转换为小写字母,并且返回此值,其他字符都保持不变。

    local str = "AAAwww123,4576%"
    local testStr = string.lower(str)

    print(testStr) =>--得到结果 aaawww123,4576%

string.upper (str)

  • 将str中的小写字符都转为大写,并且返回此值,其他字符都保持不变。

    local str = "AAAwww123,4576%"
    local testStr = string.upper(str)

    print(testStr) => --得到结果 AAAWWW123,4576%

string.reverse (str)

  • 返回一个反转过的字符串

    local testStr = string.reverse("Hello Lua")

    print(testStr) => --得到结果 auL olleH

string.len (str)

  • str:需要计算长度的字符串
  • 返回值:str字符串的长度

string.rep (str, n,sep)

  • 返回 n 个字符串 str 以字符串 sep 为分割符连在一起的字符串

  • 复制很多个自己然后拼接起来,之间用sep分割符

    local value = string.rep("abcd",2)

    print(value) => --abcdabcd

    local value = string.rep("abcd",2,"@")

    print(value) => --abcd@abcd

string.gmatch(str, pattern)

  • 返回一个迭代器函数 ,每次调用这个函数都会继续以 pattern对str做匹配

  • 并返回所有捕获到的值。 如果 pattern 中没有指定捕获,则每次捕获整个 pattern

    local str = "hello world from Lua"

    for w in string.gmatch(str, "%a+") do
    print(w)
    end

你可能感兴趣的:(字符串 string API)