string 长度
str = "abc" print(#str) --3
string库
string.byte (s [, i [, j]])
返回字符 s[i]
, s[i+1]
, ... ,s[j]
的内部数字编码。 i
的默认值是 1 ; j
的默认值是 i
。 这些索引以函数 string.sub
的规则修正
g1,g2,g3 = string.byte("abcdef",1,3)
print (g1,g2,g3) --97 98 99
string.char (···)
接收零或更多的整数。 返回和参数数量相同长度的字符串。 其中每个字符的内部编码值等于对应的参数值
s = string.char(97,98,99)
print(s) --abc
string.dump (function [, strip])
返回包含有以二进制方式表示的(一个 二进制代码块 )指定函数的字符串
string.find (s, pattern [, init [, plain]])
查找第一个字符串 s
中匹配到的 pattern
(参见 §6.4.1)。 如果找到一个匹配,find
会返回 s
中关于它起始及终点位置的索引; 否则,返回 nil。 第三个可选数字参数 init
指明从哪里开始搜索; 默认值为 1 ,同时可以是负值。
txt = "he's very very good!"
i = string.find(txt, "very",10)
print(i) --11
string.format (formatstring, ···)
返回不定数量参数的格式化版本, 格式化串为第一个参数(必须是一个字符串)
print(string.format("he want %d apples", 5))
print(string.format("he want %s apples", "three"))
string.gmatch (s, pattern)
这个函数基本就是用来配合for循环使用的,返回一个迭代器函数,每次调用这个迭代器函数都会返回一个匹配该字符串的值。
s = "hello world from Lua"
for w in string.gmatch(s, "%a+") do
print(w) --连续输出每个单词
end
string.gsub (s, pattern, repl [, n])
string.gsub 函数有三个参数:目标串,模式串,替换串。
基本作用是用来查找匹配模式的串,并将使用替换串其替换掉:
API对这个介绍的很详细,可参照API
s = string.gsub("Lua is good", "good", "bad")
print(s) --> Lua is bad
string.len (s)
接收一个字符串,返回其长度
内嵌零也统计在内,因此 "a\000bc\000"
的长度为 5
string.lower (s)
将字符串转换为小写
string.upper (s)
将字符串转换为大写
print(string.len("abcde")) --5
print(string.lower("MAC")) --mac
print(string.upper("2abAB")) --2ABAB
string.match (s, pattern [, init])
在字符串 s
中找到第一个能用 pattern
匹配到的部分。 如果能找到,match
返回其中的捕获物; 否则返回 nil
print(string.match("i is a boy","n"));
string.rep (s, n [, sep])
返回 n
个字符串 s
以字符串 sep
为分割符连在一起的字符串
print(string.rep("s", 4,"-")) --s-s-s-s
print(string.rep("ab", 3)) --ababab
string.reverse (s)
返回字符串 s
的翻转串
string.sub (s, i [, j])
截取字符串
print(string.sub("abcdefg", 1,3)) --abc