如何知道一个字符串是否包含带特殊符号的子串?
How to know if a string contains substring with special symbols?
为什么这个代码:
p="PS02 - Fretted stereo2stereo (x86)"
s="PS02 - "
if string.match(p,s) then
reaper.ShowConsoleMsg("Yes!")
end
给我们 "Yes!"
但是这个代码:
p="PS02 - Fretted stereo2stereo (x86)"
s="PS02 - F"
if string.match(p,s) then
reaper.ShowConsoleMsg("Yes!")
end
什么也没给我们??
如何知道某个字符串是否包含另一个字符串(带有空格或其他符号,如“-”或“()”)?
"PS02 - "
works 似乎有效,因为它实际上只匹配子字符串 "PS02 "
。这是因为 (space)-
中的 -
表示 "match (space) zero or more times, but as few times as possible."
魔术字符 ^$()%.[]*+-?
必须分别以 %
为前缀(转义)...因此上述每种情况下的正确模式是 "PS02 %- "
和 "PS02 %- F"
.
为什么这个代码:
p="PS02 - Fretted stereo2stereo (x86)"
s="PS02 - "
if string.match(p,s) then
reaper.ShowConsoleMsg("Yes!")
end
给我们 "Yes!"
但是这个代码:
p="PS02 - Fretted stereo2stereo (x86)"
s="PS02 - F"
if string.match(p,s) then
reaper.ShowConsoleMsg("Yes!")
end
什么也没给我们??
如何知道某个字符串是否包含另一个字符串(带有空格或其他符号,如“-”或“()”)?
"PS02 - "
works 似乎有效,因为它实际上只匹配子字符串 "PS02 "
。这是因为 (space)-
中的 -
表示 "match (space) zero or more times, but as few times as possible."
魔术字符 ^$()%.[]*+-?
必须分别以 %
为前缀(转义)...因此上述每种情况下的正确模式是 "PS02 %- "
和 "PS02 %- F"
.