Lua字符串操作

Lua字符串操作

--Lua字符串

--[[
  1、stirng.upper(str) 转化为大写
  2、string.lower(str) 转化为小写
  3、string.gsub(mainStr,findStr,replaceStr,num)  替换字符
	    print(string.gsub("aaaa","a","z",3))
  4、string.find(Str,substr,(init,[end]))  在目标字符串中搜索从指定索引后的内容(第三个数为索引),返回开始和结束的索引
		print(string.find("hello lua user","lua",1))
  5、string.reverse(str)   反转字符串
		print(string.reverse("hello"))
  6、string.fomat(...)   相当于c中的printf
  7、string.char(str)   将整形数字转换为字符并连接

       print(string.char(97,98,99,100))

	   string.byte(str,int)   转换字符为整数值(可以指定索引,默认第一个字符)
	      print(string.byte("ABCD"))
	      print(string.byte("ABCD",3))
  8、 string.len(str)     计算字符串的长度
  9、 string.rep(str,n)   返回字符串的n个拷贝
  10、	string.gmatch(str, pattern)
回一个迭代器函数,每一次调用这个函数,返回一个在字符串 str 找到的下一个符合 pattern 描述的子串。如果参数 pattern 描述的字符串没有找到,迭代函数返回nil。
	  for word in string.gmatch("hello Lua user","%a+")           --%a+是什么意思?输出什么类型的?
		do print(word)
		 end
  11、	string.match(str, pattern, init)
	  string.match()只寻找源字串str中的第一个配对. 参数init可选, 指定搜寻过程的起点, 默认为1。在成功配对时,函数将返回配对表达式中的所有捕获结果; 如果没有设置捕获标记, 则返回整个配对字符串. 当没有成功的配对时, 返回nil。
      print(string.match("i have 2 questions for you.","%d+ %a+"))
	  print(string.format("%d,%q",string.match("i have 2 questions for you","(%d+) (%a+)")))
--]]


--字符串格式化
--[[
    %g(%G) - 接受一个数字并将其转化为%e(%E, 对应%G)%f中较短的一种格式
    %q - 接受一个字符串并将其转化为可安全被Lua编译器读入的格式
    %s - 接受一个字符串并按照给定的参数格式化该字符串

	(1) 符号: 一个+号表示其后的数字转义符将让正数显示正号.       默认情况下只有负数显示符号.
    (2) 占位符: 一个0, 在后面指定了字串宽度时占位用. 不填时的默认占位符是空格.
    (3) 对齐标识: 在指定了字串宽度时, 默认为右对齐, 增加-号可以改为左对齐.
    (4) 宽度数值
    (5) 小数位数/字串裁切: 在宽度数值后增加的小数部分n, 若后接f(浮点数转义符,%6.3f)则设定该浮点数的小数只保留n位, 若后接s(字符串转义符,%5.3s)则设定该字符串只显示前n位.
--]]

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值