lua语言如何替换多个字符并记录替换位置和替换内容

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了lua语言如何替换多个字符并记录替换位置和替换内容相关的知识,希望对你有一定的参考价值。

tab1是一个含有若干个字符串的table,要将一段字符串内的包含的所有table内的元素全部替换为"",并且记录替换的内容和替换的位置有什么好办法没?
比如,tab1 = "lua", "my", "hello", "go", "aaa"
txt = "lua is my style! hello boy,let`s go,我们的主题曲!"
目的1:生成txt1 = “ is style! boy,let's ,我们的主题曲!”
目的2:生成记录替换内容和替换位置的table:result = "lua", 1, "my", 8, "hello", 18, "go", 34, "aaa",
分不多,麻烦高手帮忙看下

string.find和string.sub循环使用可以得到你要的结果追问

循环的时候字符长度会变化的,用string.find查找到的位置就会不对了

追答

是你不会用,多想想吧

追问

虽然没满足我的需要,还是谢谢

参考技术A 代码发出来

电脑系统批处理,如何将多个tab替换为一个tab,而单个的tab不变化?

一段文字中,当连续出现多个tab,那么则就将多个tab符号替换为一个。如果只有单个tab符号,那么则不对单个的tab做任何修改。

用notepad++,写个正则表达式把所有的空格和制表符都替换#这种不常用的符号,然后再把#替换成一个tab。
正则表达式字符功能:
. 匹配任意1个字符(除了\n)
[ ] 匹配[ ]中列举的字符
\d 匹配数字,即0-9
\D 匹配非数字,即不是数字
\s 匹配空白,即 空格,tab键
\S 匹配非空白\w匹配单词字符,即a-z、A-Z、0-9、_
\W 匹配非单词字符追问

这回答跟没回答的没什么差别。。。要是会我还用问?。。。

追答

你需要的正则表达式很简单,网上有现成别人总结的,复制就可以了

\t*就行了

参考技术A

参考技术B 请问题主是怎么做的?我现在也需要做这个。追问

我就是不知道才想要问啊。。。

以上是关于lua语言如何替换多个字符并记录替换位置和替换内容的主要内容,如果未能解决你的问题,请参考以下文章

lua语言的字符串替换函数的使用方法问题。

怎么用C语言对文件操作用特定内容替换其中某些内容

如何在数据库中搜索和替换字符串的所有实例?

用多个新字符串替换文件中特定位置的单个字符串

正则匹配指定字符之间的内容,并替换(多个匹配替换)

如何在一行中的多个位置替换两个字符串之间的子字符串