lua string
转载:http://blog.sina.com.cn/s/blog_6d9d6d160101975u.html
--lua中字符串索引从前往后是1,2,……,从后往前是-1,-2……。
--string库中所有的function都不会直接操作字符串,只返回一个结果。
--------------------------------------------------------------------------------------------------
【基本函数】
函数 | 描述 | 示例 | 结果 |
len | 计算字符串长度 | string.len("abcd") | 4 |
rep | 返回字符串s的n个拷贝 | string.rep("abcd",2) | abcdabcd |
lower | 返回字符串全部字母大写 | string.lower("AbcD") | abcd |
upper | 返回字符串全部字母小写 | string.upper("AbcD") | ABCD |
format | 返回一个类似printf的格式化字符串 | string.format("the value is:%d",4) | the value is:4 |
sub | returns substring from index i to j of s | string.sub("abcd",2) | bcd |
string.sub("abcd",-2) | cd | ||
string.sub("abcd",2,-2) | bc | ||
string.sub("abcd",2,3) | bc | ||
find | 在字符串中查找 | string.find("cdcdcdcd","ab") | nil |
string.find("cdcdcdcd","cd") | 1 2 | ||
string.find("cdcdcdcd","cd",7) | 7 8 | ||
gsub | 在字符串中替换 | string.gsub("abcdabcd","a","z"); | zbcdzbcd 2 |
string.gsub("aaaa","a","z",3); | zzza 3 | ||
byte | 返回字符的整数形式 | string.byte("ABCD",4) | 68 |
char | 将整型数字转成字符并连接 | string.char(97,98,99,100) | abcd |
--------------------------------------------------------------------------------------------------
【基本模式串】
字符类 | 描述 | 示例 | 结果 |
. | 任意字符 | string.find("",".") | nil |
%s | 空白符 | string.find("ab cd","%s%s") | 3 4 |
%S | 非空白符 | string.find("ab cd","%S%S") | 1 2 |
%p | 标点字符 | string.find("ab,.cd","%p%p") | 3 4 |
%P | 非标点字符 | string.find("ab,.cd","%P%P") | 1 2 |
%c | 控制字符 | string.find("abcd\t\n","%c%c") | 5 6 |
%C | 非控制字符 | string.find("\t\nabcd","%C%C") | 3 4 |
%d | 数字 | string.find("abcd12","%d%d") | 5 6 |
%D | 非数字 | string.find("12abcd","%D%D") | 3 4 |
%x | 十六进制数字 | string.find("efgh","%x%x") | 1 2 |
%X | 非十六进制数字 | string.find("efgh","%X%X") | 3 4 |
%a | 字母 | string.find("AB12","%a%a") | 1 2 |
%A | 非字母 | string.find("AB12","%A%A") | 3 4 |
%l | 小写字母 | string.find("ABab","%l%l") | 3 4 |
%L | 大写字母 | string.find("ABab","%L%L") | 1 2 |
%u | 大写字母 | string.find("ABab","%u%u") | 1 2 |
%U | 非大写字母 | string.find("ABab","%U%U") | 3 4 |
%w | 字母和数字 | string.find("a1()","%w%w") | 1 2 |
%W | 非字母非数字 | string.find("a1()","%W%W") | 3 4 |
--------------------------------------------------------------------------------------------------
【转义字符%】
字符类 | 描述 | 示例 | 结果 |
% | 转义字符 | string.find("abc%..","%%") | 4 4 |
string.find("abc..d","%.%.") | 4 5 |
--------------------------------------------------------------------------------------------------
【用[]创建字符集,"-"为连字符,"^"表示字符集的补集】
字符类 | 描述 | 示例 | 结果 |
[01] | 匹配二进制数 | string.find("32123","[01]") | 3 3 |
[AB][CD] | 匹配AC、AD、BC、BD | string.find("ABCDEF","[AB][CD]") | 2 3 |
[[]] | 匹配一对方括号[] | string.find("ABC[]D","[[]]") | 4 5 |
[1-3] | 匹配数字1-3 | string.find("312","[1-3][1-3][1-3]") | 1 3 |
[b-d] | 匹配字母b-d | string.find("dbc","[b-d][b-d][b-d]") | 1 3 |
[^%s] | 匹配任意非空字符 | string.find(" a ","[^%s]") | 3 3 |
[^%d] | 匹配任意非数字字符 | string.find("123a","[^%d]") | 4 4 |
[^%a] | 匹配任意非字母字符 | string.find("abc1","[^%a]") | 4 4 |
--------------------------------------------------------------------------------------------------
【用"()"进行捕获】
字符类 | 描述 | 示例 | 结果 |
() | 捕获字符串 | string.find("12ab","(%a%a)") | 3 4 ab |
string.find("ab12","(%d%d)") | 3 4 12 |
--------------------------------------------------------------------------------------------------
【模式修饰符】
修饰符 | 描述 | 示例 | 结果 |
+ | 表示1个或多个,匹配最多个 | string.find("aaabbb","(a+b)") | 1 4 aaab |
string.find("cccbbb","(a+b)") | nil | ||
- | 表示0个或多个,匹配最少个 | string.find("zzxyyy","(xy-)") | 3 3 x |
string.find("zzzyyy","(x-y)") | 4 4 y | ||
* | 表示0个或多个,匹配最多个 | string.find("mmmnnn","(m*n)") | 1 4 mmmb |
string.find("lllnnn","(m*n)") | 4 4 n | ||
? | 表示0个或1个 | string.find("aaabbb","(a?b)") | 3 4 ab |
string.find("cccbbb","(a?b)") | 4 4 b |
lua string相关推荐
- Lua string库整理
string库提供了字符串处理的通用函数. 例如字符串查找.子串.模式匹配等. 当在 Lua 中对字符串做索引时,第一个字符从 1 开始计算(而不是 C 里的 0 ). 索引可以是负数,它指从字符串末 ...
- LUA string的状态
字符串库在表string内提供所有函数.它也给字符串设置元表,其中的__index字段指向string表.因此,你可以使用面向对象风格的字符串函数.例如,string.byte(s, i)可写为s:b ...
- lua string操作
1.string.gmatch(返回查找到字符串的迭代器) t = {} s = "from=world, to=Lua" for k, v in string.gmatch(s, ...
- lua string库
--lua中字符串索引从前往后是1,2,--,从后往前是-1,-2--. --string库中所有的function都不会直接操作字符串,只返回一个结果. ---------------------- ...
- lua string 库
转载自:http://blog.sina.com.cn/s/blog_6d9d6d160101975u.html --lua中字符串索引从前往后是1,2,--,从后往前是-1,-2--. --stri ...
- Lua string.split
---@field TableAux table转字符串的辅助类 local TableAux = require("TableAux")---拆分字符串 ---@param st ...
- Lua string字符串相关操作
前言 字符串操作是 区分大小写的 一.字符串赋值 "" or '' 双引号或单引号 都表字符串 string1 = "a" string2 = 'b' prin ...
- Lua string转table
可以自己写个函数实现一下 ss = '{[1]={["discount"]=10000,["id"]=1},\[2]={["discount" ...
- lua table string互转
function serialize(obj) local lua = "" local t = type(obj) if t == "number" then ...
最新文章
- 使用TensorFlow跟踪千年猎鹰
- python 笔记:nltk (标记英文单词词性等)
- 一维条形码***技术(Badbarcode)
- Redis基数统计之HyperLogLog小内存大用处
- FreeModbus线圈
- 玩转Powerpoint2010的视频
- jq选中单选框后文本框不可编辑_3个Excel工作表的数据输入编辑技巧,助你工作更轻松...
- 创业15年,我对自己第一次的反省
- Php开发银行接口之浦发银行
- Agilent RF fundamentals (2)- fundamental units of RF
- 【风电功率预测】基于matlab遗传算法优化BP神经网络风电功率预测【含Matlab源码 760期】
- 投资银行业务法规汇编----仅供学习
- Unity3D插件大全
- 学习残差神经网络(ResNet)
- plupload上传图片时浏览器自动旋转图片导致的bug修正
- Android界面 Html5还是Native,说说他们的各自的优缺点。
- C语言实现任意函数求不定积分
- 购物网站的html5页面,网购商城(html5页面设计)
- STM32 BOOT模式配置以及作用
- 对抗鲁棒性使得神经网络又强又怂
热门文章
- OTA酒店订单自动录入同步到PMS酒店管理系统技术(及旅业系统身份证信息自动录入技术)
- Java毕设项目汽车4S服务管理系统(java+VUE+Mybatis+Maven+Mysql)
- 鸢尾花分类与直方图、散点图的绘制及可视化决策树
- python seth什么意思_Python中seth是什么
- js 正则表达式大全
- TestStand-数据类型
- 关键词词云怎么做_自媒体人必备!一键搞定高逼格词云图片
- 一些常用的编程语言和他们的特点
- 木桶原理与反木桶原理及数学论证
- No core dump will be written. Minidumps are not enabled by default on client versions of Windows错误