2012-02-27 16 views
3

簡単な質問です。文字列内の数字を見つけるlua

ロールが行われたときのように示しています - 私は数150を分離するいくつかの方法をご希望の

は、「[SomePerson] +役割ボーナスで[SomeItem] 150ロールが必要です」。 しかし、私が知る限り、ルアには分割されていないので、これを達成するための最良の方法は何ですか?

答えて

7

これがWoWの場合は、strsplitの機能をチェックしてください。

それ以外の場合は、string.find or string.match and patternsで行うことができます。

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

ここから私のように動作することができるかもしれない。これは次のように、文字列の最初の番号を見つけるために%d+ためstring.matchを行うのと同じくらい簡単である可能性があります。ありがとう! –

+0

'string.find()'の例で編集^^ – lunixbochs

+4

string.findの代わりにstring.matchを使用すると、最初の2つの結果を破棄する必要はありません。 '%d +'の周りの親はどんな場合でも必要ありません。 'number = tonumber(string.match(theString、"%d + "))' – kikito

関連する問題