一、字符串

字符串或串(String)是由数字字母下划线组成的一串字符
在 Lua 中,字符串是一种基本数据类型用于存储文本数据
Lua 中的字符串可以包含任意字符,包括字母数字符号空格以及其他特殊字符
Lua 语言字符可以使用以下三种方式表示

(一)单引号间的一串字符

local str1 = 'This is a string.'
local str2 = "This is also a string."

(二)local str = “Hello, “

str = str .. "World!"  -- 创建一个新的字符串并将其赋值给str
print(str)  -- 输出 "Hello, World!"

(三)[[ 与 ]] 间的一串字符

local multilineString = [[
This is a multiline string.
It can contain multiple lines of text.
No need for escape characters.
]]

print(multilineString)

(四)例子

str = 'hello,wonyoung'
print(str);
str = "jang won young"
print(str);
str = [["jang won young"]]
print(str);

在这里插入图片描述

二、字符串长度计算

在 Lua 中,要计算字符串的长度(即字符串中字符的个数),你可以使用 string.len函数utf8.len 函数包含中文的一般用 utf8.len,string.len 函数用于计算包含 ASCII 字符串的长度

(一)string.len

local myString = "Hello, RUNOOB!"

-- 计算字符串的长度(字符个数
local length = string.len(myString)

print(length) -- 输出 14

在这里插入图片描述
以上实例myString 字符串只包含 ASCII 字符,因此 string.len 函数可以准确地返回字符串的长度。

(二)包含中文的字符串使用 utf8.len函数:

在这里插入图片描述

(三)转义字符

用于表示不能直接显示的字符,比如后退键,回车键等,如在字符串转换双引号可以使用 。

所有的转义字符和所对应的意义:
在这里插入图片描述

三、字符串操作

序号 方法
1 string.upper(argument):字符串全部转为大写字母
2 string.lower(argument):字符串全部转为小写字母
3 string.gsub(mainString,findString,replaceString,num)在字符串中替换mainString 为要操作的字符串, findString 为被替换的字符,replaceString 要替换的字符,num 替换次数(可以忽略,则全部替换),如:> string.gsub("aaaa","a","z",3);zzza 3
4 string.find (str, substr, [init, [plain]])在一个指定目标字符串 str 中搜索指定内容 substr,如果找到了一个匹配子串,就会返回这个子串的起始索引结束索引,不存在返回 nilinit 指定搜索的起始位置默认为 1,可以一个负数,表示从后往前数的字符个数plain 表示是否使用简单模式默认falsetrue 只做简单查找子串的操作false 表示使用使用正则模式匹配。以下实例查找字符串 “Lua” 的起始索引和结束索引位置> string.find("Hello Lua user", "Lua", 1) 7 9
5 string.reverse(arg)字符串反转> string.reverse("Lua")auL
6 string.format(…),返回一个类似printf格式化字符串> string.format("the value is:%d",4)the value is:4

四、字符串截取

字符串截取使用 sub() 方法

string.sub() 用于截取字符串,原型为:

string.sub(s, i [, j])

参数说明
s:要截取的字符串。
i:截取开始位置
j:截取结束位置默认为 -1,最后个字符

-- 字符串
local sourcestr = "prefix--runoobgoogletaobao--suffix"
print("n原始字符串", string.format("%q", sourcestr))

-- 截取部分,第4个到第15个
local first_sub = string.sub(sourcestr, 4, 15)
print("n第一次截取", string.format("%q", first_sub))

-- 取字符串前缀,第1个到第8个
local second_sub = string.sub(sourcestr, 1, 8)
print("n第二次截取", string.format("%q", second_sub))

-- 截取最后10个
local third_sub = string.sub(sourcestr, -10)
print("n第三次截取", string.format("%q", third_sub))

-- 索引越界,输出原始字符串
local fourth_sub = string.sub(sourcestr, -100)
print("n第四次截取", string.format("%q", fourth_sub))

在这里插入图片描述

五、字符串大小写转换

string1 = "Lua";
print(string.upper(string1))
print(string.lower(string1))

在这里插入图片描述

六、字符串查找与反转

string = "Lua Tutorial"
-- 查找字符串
print(string.find(string,"Tutorial"))
reversedString = string.reverse(string)
print("新字符串为",reversedString)

在这里插入图片描述

原文地址:https://blog.csdn.net/weixin_54447296/article/details/134660867

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_33966.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注