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