translated from the lua document

string.gsub用法:

函数原型:string.gsub( s, pattern, rep1[, n] )
函数功能:返回一个和pattern匹配,并且用rep1替换的副本。rep1可以是string、table和functin。
                  第二个返回值n是代表匹配的个数。
 
rep1说明:
如果rep1是string类型,那么rep1用于替换匹配的字符串。%代表转义字符,rep1中%n里面,
n的范围是1~9,代表第n个捕获的子串(看下面的例子)。%0代表所有的匹配,%%代表单个%。
 
如果rep1是表,设表为t,则匹配的项会用t[match]来代替,match是匹配的项。如果没有匹配,
则原串返回。
 
如果rep1是函数,那么,所有匹配的子串会分别作为函数的参数,如果匹配n次,则调用函数n次。
 
如果表或者函数的返回值是string或者number,那么它会替换匹配的子串;
如果返回值是false或者nil,那么不会作任务替换返回值是和原来的string一样。
 

下面是一些例子:

     x = string.gsub("hello world", "(%w+)", "%1 %1")
--> x="hello hello world world" x = string.gsub("hello world", "%w+", "%0 %0", 1)
--> x="hello hello world" x = string.gsub("hello world from Lua", "(%w+)%s*(%w+)", "%2 %1")
--> x="world hello Lua from" x = string.gsub("home = $HOME, user = $USER", "%$(%w+)", os.getenv)
--> x="home = /home/roberto, user = roberto" x = string.gsub("4+5 = $return 4+5$", "%$(.-)%$", function (s)
return loadstring(s)()
end)
--> x="4+5 = 9" local t = {name="lua", version="5.1"}
x = string.gsub("$name-$version.tar.gz", "%$(%w+)", t)
--> x="lua-5.1.tar.gz"

lua——string之string.gsub的更多相关文章

  1. Lua的string和string库总结

    Lua有7种数据类型,分别是nil.boolean.number.string.table.function.userdata.这里我总结一下Lua的string类型和string库,复习一下,以便加 ...

  2. lua字符串处理(string库用法)

    原文地址http://www.freecls.com/a/2712/f lua的string库是用来处理字符串的,基础函数如下 string.byte(s [, i [, j]]) string.by ...

  3. Lua 中的string库(字符串函数库)总结

    (字符串函数库)总结 投稿:junjie 字体:[增加 减小] 类型:转载 时间:2014-11-20我要评论 这篇文章主要介绍了Lua中的string库(字符串函数库)总结,本文讲解了string库 ...

  4. lua语言:string

    转载请注明来源:https://www.cnblogs.com/hookjc/ 字符串库函数string.len(s)          返回字符串s的长度:string.rep(s, n)      ...

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

    table.keys 返回指定表格中的全部键. 格式: keys = table.keys(表格对象) 使用方法演示样例: local t = {a = 1, b = 2, c = 3} local ...

  6. [C#] string 与 String,大 S 与小 S 之间没有什么不可言说的秘密

    string 与 String,大 S 与小 S 之间没有什么不可言说的秘密 目录 小写 string 与大写 String 声明与初始化 string string 的不可变性 正则 string ...

  7. java.lang.String.getBytes(String charsetName)方法实例

    java.lang.String.getBytes(String charsetName) 方法编码将此String使用指定的字符集的字节序列,并将结果存储到一个新的字节数组. 声明 以下是java. ...

  8. C#,int转成string,string转成int

    转载:http://www.cnblogs.com/xshy3412/archive/2007/08/29/874362.html 1,int转成string用toString 或者Convert.t ...

  9. C#中对string与string[]的初步操作

    开篇之作,简单的对string与string[]进行初步操作,入门篇也,不多说,直接上代码. using System; using System.Collections.Generic; using ...

随机推荐

  1. XP和Win 7双系统安装说明和注意事项

    安装前说明: 1.先装XP,再装Windows 7,最好不要反过来,不然XP不会把Windows 7的启动管理器给覆盖掉,会麻烦些.总之遵循“旧版本到新版本”安装原则. 2.如果分区不够大,请用以下软 ...

  2. Java中堆内存和栈内存详解【转】

    Java把内存分成两种,一种叫做栈内存,一种叫做堆内存 在函数中定义的一些基本类型的变量和对象的引用变量都是在函数的栈内存中分配.当在一段代码块中定义一个变量时,java就在栈中为这个变量分配内存空间 ...

  3. go语言学习 ---iota

    iota iota,特殊常量,可以认为是一个可以被编译器修改的常量. iota 在 const关键字出现时将被重置为 0(const 内部的第一行之前),const 中每新增一行常量声明将使 iota ...

  4. 普里姆Prim算法介绍

    普里姆(Prim)算法,和克鲁斯卡尔算法一样,是用来求加权连通图的最小生成树的算法. 基本思想 对于图G而言,V是所有顶点的集合:现在,设置两个新的集合U和T,其中U用于存放G的最小生成树中的顶点,T ...

  5. 解决windows server2012 评估版本过期,系统会自动关机

    解决windows server2012 评估版本过期,系统在1小时后会自动关机. 重置方法:以管理员方式运行命令行,执行slmgr.vbs /rearm,可以使授权延长180天,但是仅能延长5次.

  6. Installing .NET Core on Ubuntu-摘自网络

    Installing .NET Core on Linux By Zlatko Knezevic These instructions will lead you through acquiring ...

  7. 远程调试Hadoop

    远程调试对应用程序开发十分有用,那如何调试Hadoop源码?这里介绍如何用IDE远程调试Hadoop源码.本文以IntelliJ IDEA作为IDE,以调试Jobhistory WEB UI代码为例进 ...

  8. paip.索引的种类以及实现attilax 总结

    paip.索引的种类以及实现attilax 总结 1. 索引的类型 1 2. Btree索引(分块索引) 1 3. Hash 索引(编号索引) 1 4. 倒排索引 2 5. 对大型文本文件做索引 2 ...

  9. 网站的PV UV IP---网站常见软件性能

    IP,衡量不同时间段的上网人数.00:00-24:00内相同的地址被计算一次.例:日300W IP,至少300W人访问PV,衡量页面受欢迎程度.每刷新一次,被记录一次(刷pv),网站被访问的页面的数量 ...

  10. cocos2d-x树结构执行动作

    void Test2::onEnter() { TestCocosNodeDemo::onEnter(); CCSize s = CCDirector::sharedDirector()->ge ...