Lua 中string.gsub(sourceString, pattern, replacementString) 返回值有两个

这阵子在学习lua,今天看到string操作,书中描述string.gsub(sourceString, pattern, replacementString)返回一个字符串,但是我在实际操作中却发现,这个函数其实返回的是两部分内容,一部分是替换后的字符串,一部分是替换长度。

myString = "my name is lucy, my phone numbre is 010-88993366."
print(string.gsub(myString, "%d", "*"))

看一下输出:

这是直接打印出来的,为了更加直观一点,我把返回值都用变量缓存起来,在打印出来看下。

myString = "my name is lucy, my phone numbre is 010-88993366."
newstring, length = string.gsub(myString, "%d", "*")
print(newstring)
print(length)

看下输出:

确实是两个返回值。

时间: 2024-10-09 05:46:26

Lua 中string.gsub(sourceString, pattern, replacementString) 返回值有两个的相关文章

Lua string.gsub (s, pattern, repl [, n])

lua的string函数导出在string module中.在lua5.1,同时也作为string类型的成员方法,因此,我们既可以写成string.gsub (s,……), 也可以s:gsub(). string.gsub (s, pattern, repl [, n]) 有四个参数,给定字符串,匹配模式.替代字符串,第四个参数是可选的,用来限制替换的范围:表示替换次数限制. 作用就是将所有符合匹配模式的地方都替换成替代字符串.并返回替换后的字符串,以及替换次数. 其中,repl可以是strin

lua的string.gsub初使用

今天在学习lua,熟悉项目代码的过程中,发现string.gsub好高级,所以在此mark下. 以下是lua5.1的官方文档介绍. string.gsub (s, pattern, repl [, n]) Returns a copy of s in which all occurrences of the pattern have been replaced by a replacement string specified by repl, which may be a string, a

lua中string常用api

local a="abcdefgbbb" string.sub(a,1,3) 字符串截取 返回截取的字符串           print(string.sub(a,1,3))      --abc string.gsub(a,"b","c",5) 字符串替换,将a中的bbb替换为ccc 替换5次,返回替换后的字符串跟替换次数  -- print(string.gsub(a,"b","c",5)) --ac

lua 中string字符串的使用(string.len, string.char)

table.keys 返回指定表格中的所有键. 格式: keys = table.keys(表格对象) 用法示例: local t = {a = 1, b = 2, c = 3} local keys = table.keys(t) -- keys = {"a", "b", "c"} ~~ table.values 返回指定表格中的所有值. 格式: values = table.values(表格对象) 用法示例: local t = {a =

(四)Asp.net web api中的坑-【api的返回值】

void无返回值 IHttpActionResult HttpResponseMessage 自定义类型 我这里并不想赘述这些返回类型, 可以参考博文http://blog.csdn.net/leonken88/article/details/53063693 和大神的http://www.cnblogs.com/landeanfen/p/5501487.html 我要说我遇到的坑是, public HttpResponseMessage DataHandler(RequestModel mod

lua学习笔记14:函数多返回值

Lua中函数可以返回多个值,为了说明不同情况下,返回值的个数,我们先声明如下几个函数: -- 无返回值 function fun0() end -- 一个返回值 function fun1() return 1 end -- 二个返回值 function fun2() return 1, 2 end -- 三个及多个返回值 function fun3() return 1, 2, 3 end 通常情况下,Lua会根据函数调用的不同情况自动调整返回值的有效个数.主要有以下几种情况: 1. 调用作为

IE中window的模态框与返回值

window.returnValue是javascript中html的window对象的属性,目的是返回窗口值,当用window.showModalDialog函数打开一个IE的模态窗口时,用于返回窗口的值: 在父页面中使用window.showModalDialog可以弹出一个模态框 var result = window.showModalDialog("child.htm",null,"dialogWidth:350px;dialogHeight:350px;help:

Java中String转换Double类型 Java小数点后留两位

Java中String转换Double类型 double num1 = 0.0; String qq = "19.987"; num1 = Double.valueOf(qq.toString()); 太祖元年 Java小数点后留两位 double num1 =11; double num1 =21; String num1 =""; DecimalFormat df = new DecimalFormat(".00");num3 = df.fo

在批处理中调用VBScript(支持获取返回值)

有个帖子简单介绍了利用mshta来调用vbs的方法(链接).虽该文章作者认为 到此,在bat中使用vbs得到了完全解决.从此可以在bat和vbs间自由的航行了. 但任然无法获取vbs的返回值,可见该方法有一定缺陷.于是写出该帖子来补充一下下~先不看这个缺陷,原调用代码的html标签也可以不要(lz最早是看见zhonghua兄使用该方法) Mshta Vbscript:VBS命令(Close) 感谢zhonghua,我们来看几个例子: Mshta Vbscript:Msgbox("Hello,wo