• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >Lua > Lua字符串库(string库)学习笔记

Lua字符串库(string库)学习笔记

作者:junjie 字体:[增加 减小] 来源:互联网

junjie 通过本文主要向大家介绍了Lua字符串库(string库)学习笔记等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

Lua 最强大的特性之一就是它的字符串处理能力,它支持字符格式化输出,具有可扩展的模式匹配查找功能,以及一些实用的字符操作,例如查询、截取、替换和删除等字符串操作,这些字符串操作函数都封装在一个名为 string 的模块里。

Lua 里的字符索引是从 1 开始,索引值也可以是负数,这种情况将被解释成向后索引,从字符串末尾开始算起。

下面是 Lua 5.2 提供的字符串操作函数:

byte

函数 string.byte 把字符串里的第 i 个字符转为 ASCII 编码,默认是输出第一个字符的编码(只有一个参数的话),用法:

string.byte (s [, i [, j]])
</div>

例子:

print(string.byte("abc")) //echo:97

print(string.byte("abc", 2))//echo:98
</div>

char

函数 string.char 是把一个 ASCII 编码转换为对应的字符,用法:

string.char (asc1, ...)
</div>

例子:

print(string.char(97)) //echo a

print(string.char(99, 100, 101)) //echo cde
</div>

dump

函数 string.dump 返回一个函数二进制形式的字符串,用法:

string.dump (function)
</div>

参数 function 是一个 Lua 函数:

function test()
    print("just a test")
end
print(string.dump(test))
</div>

函数 string.dump 实现了函数的序列化,函数可以很轻松的传递,并在其他作用域调用。函数 string.dump 出来的二进制字符串,可以用 load 函数反序列回来直接调用。

function test()
    print("just a test")
end
local sd = string.dump(test)
print(sd)
local ls = load(sd)
print(ls)
ls()
</div>

find

函数 string.find 查找字符串 s 里第一个符合查找字符 pattern 的位置,用法:

string.find (s, pattern [, init [, plain]])
</div>

如果找到了目标字符 pattern,则返回它的开始和结束位置:

start, end = string.find("just a test", "st")
print(start, end)
</div>

如果没有找到,则返回 nil:

print(string.find("just a test", "dhq.me"))
</div>

format

函数 string.format 用于把字符串格式化输出,用法:

string.format (formatstring, ···)
</div>
string.format 函数的第一个参数是用来指定字符串的格式,例如:

print(string.format("%s is %d", "ten", 10))
</div>

上面例子里的 %s 表示字符串,%d 表示数字,它们是 Lua 的格式化输出符号。

string.format 函数的用法跟 C 语言里的 printf 函数类似,例如它可以像 printf 那样输出指定位数的数字:

Pi = 3.1415926
print(string.format("Pi is %.2f", Pi))
</div>

Lua 的字符格式化输出符号列表:

.           所有字符
%a          字母
%c          控制符
%d          数字
%D          非数字
%l          小写字母
%p          标点符号
%s          字符串
%u          大写字母
%w          字母数字
%x          十六进制数
%z          用 0 表示的字符
</div>

gmatch

函数 string.gmatch 会返回一个迭代函数,尅通过该函数遍历到一个字符串 s 中所有出现指定匹配模式 pattern 的地方,用法:

string.gmatch (s, pattern)
</div>

例如下面是找出字符串 s 里的所有单词:

您可能想查找下面的文章:

相关文章

  • 实例讲解Lua中pair和ipair的区别
  • Lua中的闭包学习笔记
  • Lua面向对象之类和继承
  • lua获取未来某时间点的时间戳解决方案
  • Lua中的递归函数写法实例
  • Lua简介、编译安装教程及变量等语法介绍
  • Lua中table里内嵌table的例子
  • Lua中字符串(string)浅析
  • Lua中调用C语言函数实例
  • Lua性能优化技巧(一):前言

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • Lua中字符串(string)浅析
    • lua中操作json数据的方法
    • lua中使用毫秒精度时间的方法
    • 浅谈Lua的面向对象特性
    • Lua中的变量类型与语句学习总结
    • Lua面向对象之多重继承、私密性详解
    • Lua教程(八):数据持久化
    • 使用Lua编写Web端模板引擎的实例代码分享
    • 在Lua程序中使用MySQL的教程
    • Lua教程(二):语法约定

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有