字符串

string.gsub(mainString,findString,replaceString,num) 在字符串中替换

  mainString 为要操作的字符串, findString 为被替换的字符,replaceString 要替换的字符,num 替换次数

 

string.reverse(arg)

  字符串反转

 

string.rep(string, n)

  返回字符串string的n个拷贝

  例:

  > string.rep("abcd",2)
  abcdabcd

string.gmatch(str, pattern)
  回一个迭代器函数,每一次调用这个函数,返回一个在字符串 str 找到的下一个符合 pattern 描述的子串。如果参数 pattern 描述的字符串没有找到,迭代函数返回nil。
  > for word in string.gmatch("Hello Lua user", "%a+") do print(word) end
  Hello
  Lua
  user

string.match(str, pattern, init)

> = string.match("I have 2 questions for you.", "%d+ %a+")
2 questions

> = string.format("%d, %q", string.match("I have 2 questions for you.", "(%d+) (%a+)"))
2, "questions"
 

字符串格式化

  string.format()

  为进一步细化格式, 可以在%号后添加参数. 参数将以如下的顺序读入:

    •   (1) 符号: 一个+号表示其后的数字转义符将让正数显示正号. 默认情况下只有负数显示符号.
    •   (2) 占位符: 一个0, 在后面指定了字串宽度时占位用. 不填时的默认占位符是空格.
    •   (3) 对齐标识: 在指定了字串宽度时, 默认为右对齐, 增加-号可以改为左对齐.
    •   (4) 宽度数值
    •   (5) 小数位数/字串裁切: 在宽度数值后增加的小数部分n, 若后接f(浮点数转义符, 如%6.3f)则设定该浮点数的小数只保留n位, 若后接s(字符串转义符, 如%5.3s)则设定该字符串只显示前n位.
  -- 基本字符串格式化
  print(string.format("基本格式化 %s %s",string1,string2))
  -- 日期格式化
  date = 2; month = 1; year = 2014
  print(string.format("日期格式化 %02d/%02d/%03d", date, month, year))
  -- 十进制格式化
  print(string.format("%.4f",1/3))

 
posted @ 2020-07-14 15:59  流星曳尾  阅读(91)  评论(0编辑  收藏  举报