2012-02-27 174 views
3

一個簡單的問題。在字符串lua中查找數字

當卷已經完成它顯示爲:

「極品羅爾 - 150 [SomeItem]由[SomePerson] +角色獎金」

我希望有一些方法來隔離號碼150。 然而,沒有這樣的事情在盧阿分裂(據我所知),那麼完成這個的最好方法是什麼?

回答

7

如果這是爲了魔獸世界,請在這裏查看這個strsplit函數。

否則,您可以使用string.find or string.match and patterns。這可能是因爲這樣做對%d+一個string.match找到字符串中的第一個數字那麼簡單,如下:

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

也許能夠從這裏工作,我的方式。謝謝 !用'string.find()'編輯的 – 2012-02-27 23:05:43

+0

^示例^^ – lunixbochs 2012-02-27 23:07:16

+4

如果使用string.match而不是string.find,則不需要放棄前兩個結果。任何情況下都不需要'%d +'周圍的家長。您可能需要在結果中調用'tonumber':'number = tonumber(string.match(theString,「%d +」))' – kikito 2012-02-28 08:27:58