2017-08-28 7 views
1

は、私は、パターン、および文字列があるとしましょう:Luaのパターンに合わせて文字列をフォーマットしますか?

String = "ABCDEF" 
Pattern = "%w%w%w - %w%w%w" 

どのように私はそれが"ABC - DEF"なるようStringは、Patternの形式を一致させることができますか?

+0

'String = String:gsub("() "、{[4] =" - "})' –

+0

パターンが変更できますか?はいの場合は、Yuの答えを参照してください。そうでない場合は、現在のシナリオをより詳細に説明してください。 –

答えて

3

使用string.gsub:これは、パターンの出現をすべて置き換えるだろうと

string.gsub("ABCDEF", "(%w%w%w)(%w%w%w)", "%1 - %2") 

注意。

0

文字列とパターンとキャプチャの間に1対1の一致がありません。 同じキャプチャは、同じ文字列に対して複数のパターンで生成できます。 また、例の"%w%w%w - %w%w%w"がLua文字列パターンの場合、 文字列"ABC - DEF"は一致しません。これに一致するパターンは、 %w%w%w %- %w%w%wまたは%w+%W+%w+または%w*%s*.%s*%w*またはその他のパタ​​ーンにすることができます。 実際に必要な独自のルールのサブセットを定義し、 はそれを処理する独自の関数を実装することをお勧めします。

関連する問題