1
我有兩個字符串 - 每串有許多行類似如下:Lua字符串find - 如何用連字符處理字符串?
string1 = " DEFAULT-VLAN | Manual 10.1.1.3 255.255.255.0 "
string2 = " 1 DEFAULT-VLAN | Port-based No No"
第一個字符串我分成以下字符串:「缺省VLAN」,「|」,「手動」 ... 然後,我想在string1中查找string1中的vlanName(「DEFAULT-VLAN」)的ID(「1」)。
我使用此代碼來找到正確的字符串:
vpos1, vpos2 = vlan:find("%d-%s-" .. vlanName .. "%s-|")
但vpos1和vpos2是零;當連字符(「 - 」)從它正在工作的vlanName中刪除時。
Lua不應該小心逃避這些字符串中的特殊字符嗎?該字符串從我的C++應用程序移交給Lua,可能會有很多特殊字符。
有沒有簡單的方法來解決這個問題?
謝謝!
我假設在上面的代碼中,「 - 」等於0或更多事件?如果您需要匹配連字符,則需要使用%轉義它。 – Tebc 2013-02-15 20:56:22
我不想匹配連字符 - 我通常不知道字符串中是否有連字符。我想匹配「1 DEFAULT-VLAN |」在string2中 – mspoerr 2013-02-15 21:13:13