2 つの文字列があります。各文字列には、次のような多くの行があります。
string1 = " DEFAULT-VLAN | Manual 10.1.1.3 255.255.255.0 "
string2 = " 1 DEFAULT-VLAN | Port-based No No"
最初の文字列を次の文字列に分割しました: "DEFAULT-VLAN"、"|"、"Manual"...次に、vlanName ("DEFAULT-VLAN") の string2 で ID ("1") を検索します。 ) string1 から。
このコードを使用して、正しい部分文字列を見つけます。
vpos1, vpos2 = vlan:find("%d-%s-" .. vlanName .. "%s-|")
しかし、vpos1 と vpos2 は nil です。vlanName からハイフン ("-") を削除すると機能します。
Lua は、そのような文字列内の特殊文字をエスケープするように注意するべきではありませんか? 文字列は私の C++ アプリケーションから Lua に渡され、多くの特殊文字が含まれている可能性があります。
これを解決する簡単な方法はありますか?
ありがとう!