• 友链

  • 首页

  • 文章归档
h u a n b l o g
h u a n b l o g

欢

HI,Friend

04月
19
Lua

Lua字符串

发表于 2022-04-19 • 字数统计 2189 • 被 1,549 人看爆

引言

a = "one string"
b = string.gsub(a, "one", "another")        --改变字符串中的某些部分  
print(a)        --> one string
print(b)        --> another string

Lua语言的字符串是自动内存该管理

使用长度操作符#,获取字符串的长度

a = "hello"
print(#a)           --> 5
print(#"good bye")  -->8

使用连接操作符..来进行字符串的连接。如果操作数中存在数值,那么Lua语言会先把数值转换成字符串
如果是数字之间,要用空格分开,否则会被当成小数点

"Hello".."World"        -->Hello World
"result is"..3          --> result is 3

字符串是不可变量
字符串连接是创建一个新字符串,而不是改变原来作为操作数的字符串

a = "Hello"
a.." World"
print(a)       --> Hello

转义字符
与C转移字符一样

符号描述
\a响铃
\b退格
\f换页
\n换行
\r回车
\t水平制表符
\v垂直制表符
\\反斜杠
\"双引号
\'单引号

长字符串/多行字符串

用[[ ]]表示多行字符
用""表示长字符串

pag = [[
    <htmll>
    <head>
        <title>你好</title>
    </head>
    </html>
]]

强制类型转换

隐式转换
数值转字符串

10 .. 20      --> 1020        ..是连接字符串

字符串转数值
仅限于字符串是数字

"3" + 5     --> 8

显示转换

也可以使用函数tonumber,用于显示将字符串转成数值

当这个字符串内容不能表示为有效数字时该函数返回nil;否则,该函数就按照Lua语法扫描器的规则返回对应的整型值或浮点类型值

tonumber(" -3")         --> -3
tonumber("10e4")        --> 100000.0
tonumber("10e")         --> nul     不是有效数字
tonumber("0x1.3p-4")    --> 0.07421875

默认情况下,函数tonumber使用的是十进制,但是也可以指明使用二进制到三十六进制之间的任意进制:

tonumber( "100101",2)      --> 37
tonumber("fff",16)         --> 4095
tonumber("-ZZ",36)         --> -1295
tonumber("987",8)          --> nil

可使用toString转字符串

字符串标准库

s = "HelloWorld"
string.len(s)                   --返回字符串长度 等价于#s
string.rep(s, n)                --返回将字符串s重复n次的结果
string.reverse("HelloWorld")    --用于字符串反转    dlroWolleH
string.lower(s)                 --返回一份s的副本,其中大写字母转小写字母
string.upper(s)                 --与lower相反,小写转大写
string.sub(s, i, j)             --从字符串s中提取第i到第j个字符 Lua是从1开始的,-1代表最后一个字符,-2倒数第二个字符
string.char(97)                 --将整数转成对应的字符,返回字符串  根据ASCII表     a
string.char(99, 100, 101)       --cde
string.byte("abc")              --返回字符串s中第一个字符的内部数值,根据ASCII表     97
string.byte("abc", 2)           --98
string.format("x = %d y = %d", 10, 20)                 --格式化输出  x = 10 y = 20

更多查看luaAPI

分享到:
Lua表
Lua数值
  • 文章目录
  • 站点概览
欢

网红 欢

你能抓到我么?

Email RSS
看爆 Top5
  • mac系统版本与Xcode版本有冲突 4,080次看爆
  • JAVA_HOME环境配置问题 3,731次看爆
  • AssetBundle使用 3,499次看爆
  • VSCode配置C++开发环境 3,257次看爆
  • Lua反射 3,133次看爆

Copyright © 2025 欢 粤ICP备2020105803号-1

由 Halo 强力驱动 · Theme by Sagiri · 站点地图