首页 > 解决方案 > Lua 中的字符串操作

问题描述

我有一个字符串,我必须在其中替换一些字符(或删除,这里也一样)。重要部分由字符标记@。它之前的字符应替换为以下字符,与之前的字符数无关,并且是@. 右侧字符串的结尾@由 line end 或字符!and给出|。一些例子

str0 = "whatever"                 -- do nothing
str1 = "whatever!whenever!time"   -- do nothing
--
-- the following should replace only "little" by "big"
-- means "little@big"  -> "big"
--
str2 = "little@big"  
str3 = "Size!little@big"
str4 = "Whatever!Size!little@big!whatever"
str5 = "Whatever!little@big!whatever!little@big"
str5 = "Whatever!little@big!whatever!little@big!little@big"
str6 = "Whatever!little@big!whatever!little@big!little@big|foo"

的数量@未知。是否有修改字符串的“简单”代码?

标签: stringreplacelua

解决方案


str = str:gsub('[^!|@%s]+@', '')

推荐阅读