从 lua 字符串中删除所有非字母数字字符

Posted

技术标签:

【中文标题】从 lua 字符串中删除所有非字母数字字符【英文标题】:remove all non-alphanumeric characters from lua string 【发布时间】:2013-04-30 14:37:37 【问题描述】:

我检查字符串中的非字母数字字符。

if(str:match("%W")) then
  --make str alpha-numeric
end

如何使用 lua 从字符串中删除所有非字母数字字符?

【问题讨论】:

str = str:gsub('%W','') Egor,把它变成答案 ;) 效果很好。谢谢@EgorSkriptunoff,请作为答案:) @PaulKulchenko - 答案必须至少包含 30 个字符。我没有那么多:-) @EgorSkriptunoff 加上一句解释来获得超过 30 个字符有多难? 【参考方案1】:

就这样吧 你忘了+

if(str:match("%W+")) then --if it contain alpha
     number = str:match("%d+")
     alpha = str:match("%W+")
 end

【讨论】:

【参考方案2】:

使用gsub(由 Egor Skriptunoff 建议):

str = str:gsub('%W','')

【讨论】:

以上是关于从 lua 字符串中删除所有非字母数字字符的主要内容,如果未能解决你的问题,请参考以下文章

如何从 Python 的数据框列中的字符串中删除非字母数字字符?

快速从字符串中删除所有非数字字符

从字符串中删除非字母数字字符

从Lua中的字符串中提取数字

PHP 正则表达式 - 删除所有非字母数字字符

SQL Server:如何从字符串中删除前导/尾随非字母数字字符?