首页推荐首页投稿(暂停使用,暂停投稿)我是程序员;您好程先生;叫我序员就好了

Lua string.gsub()

2016-08-13  本文已影响14405人  AlbertS
查找匹配替换.jpg

前言#

一个string家族的重磅函数将和大家见面了,函数查找子串并替换,这个函数的用法多样,但是配合所给的例子都非常好理解,只有一个地方说的有点隐晦,稍后我会和大家讲解清楚,为了说明这个函数的用法,官方也给了不少的例子,今天我们就结合这些例子来一起看一下这个函数。

内容#


string.gsub()##


Usage##

-- 常规替换
x = string.gsub("hello world", "(%w+)", "lua")
print("\n",x)

-- 都用匹配的第一个串*2来替换
x = string.gsub("hello world", "(%w+)", "%1 %1")
print("\n",x)

-- 用匹配出的完成串*2来替换第一次匹配的结果
x = string.gsub("hello world", "%w+", "%0 %0", 1)
print("\n",x)

-- 使用一个完整匹配和一个匹配的第二个串来替换
x = string.gsub("hello world from c to lua", "(%w+) (%a+)", "%0 %2")
print("\n",x)

-- 调用系统函数来替换
x = string.gsub("os = $OS, pathext = $PATHEXT", "%$(%w+)", os.getenv)
print("\n",x)

-- 调用自定义函数
x = string.gsub("4 + 5 = $return 4+5$", "%$(.-)%$", function (s)
      return loadstring(s)()
    end)
print("\n",x)

-- 调用表来替换
local t = {name="lua", version="5.1"}
x = string.gsub("$name-$version.tar.gz", "%$(%w+)", t)
print("\n",x)
string_gsub.png

总结#

上一篇 下一篇

猜你喜欢

热点阅读