在字符串lua中查找数字

The*_*der 5 string lua numbers add-on world-of-warcraft

一个简单的问题.

滚动完成后,显示为:

"需要滚动 - [SomePtem]的[SomeItem]的150 - +角色奖励"

我希望以某种方式隔离数字150.但是在lua(据我所知)没有分裂这样的事情,那么最好的方法是什么呢?

lun*_*chs 11

如果这是WoW,请在那里查看这个strsplit功能.

否则,您可以使用string.findstring.match和模式执行此操作.它可以像在string.matchfor %d+中查找字符串中的第一个数字一样简单,如下所示:

number = string.match(
    "Need Roll - 150 for [SomeItem] by [SomePerson] + role bonus",
    "%d+"
)
Run Code Online (Sandbox Code Playgroud)

  • 如果使用string.match而不是string.find,则不需要丢弃前两个结果.在任何情况下都不需要'%d +'周围的父母.你可能不得不在结果中调用`tonumber`:`number = tonumber(string.match(theString,"%d +"))` (4认同)

sno*_*rpe 5

string.match (STRINGVAR, "%d+")