Lua替换动态随机字符串的第一个数字字符为_a-zA-Z

所以我有一个非常动态的字符串,它将由字母、数字和下划线组成 \[A-Za-z0-9\_\]

如果字符串的第一个字符是数字,我正在尝试仅删除或替换该第一个数字字符为非数字字符 \[a-zA-Z\_\]

示例:

local string = "5fLkQZ73ziBzHMTgaoSBfDb9qa1q3qdqBGwJ4Mw1gkY782VhVr8Itmheq03mPy_OIHty"
string:gsub("^([0-9]{1})", "_")

输出可以为以下之一

_fLkQZ73ziBzHMTgaoSBfDb9qa1q3qdqBGwJ4Mw1gkY782VhVr8Itmheq03mPy_OIHty --下划线
AfLkQZ73ziBzHMTgaoSBfDb9qa1q3qdqBGwJ4Mw1gkY782VhVr8Itmheq03mPy_OIHty --大写
afLkQZ73ziBzHMTgaoSBfDb9qa1q3qdqBGwJ4Mw1gkY782VhVr8Itmheq03mPy_OIHty --小写
fLkQZ73ziBzHMTgaoSBfDb9qa1q3qdqBGwJ4Mw1gkY782VhVr8Itmheq03mPy_OIHty --删除
点赞
用户734069
用户734069
本地的字符串 = ...
本地的字符串 = 本地的字符串:gsub("^%d", "_")

是的,这将仅在数值位于字符串开头时替换它。它将仅替换一个这样的字符。模式前面的 “^” 确保只有当模式位于字符串开头时才是匹配。 “%d” 仅匹配一个数字字符。

如果没有找到匹配,那么 gsub 返回未修改的字符串。

2017-01-07 19:56:18