有人可以帮我解决这个问题:
s_test = "this is a test string this is a test string "
function String.Wholefind(Search_string, Word)
_, F_result = string.gsub(Search_string, '%f[%a]'..Word..'%f[%A]',"")
return F_result
end
A_test = String.Wholefind(s_test,"string")
output: A_test = 2
所以前沿模式发现整个单词没有问题,gsub统计整个单词没问题,但如果搜索字符串有数字怎么办?
s_test = " 123test 123test 123"
B_test = String.Wholefind(s_test,"123test")
output: B_test = 0
如果数字不在搜索字符串的开头或结尾,似乎可以使用
答案 0 :(得分:2)
你的模式并不匹配,因为你正试图做不可能的事。
包含变量值后,模式如下所示:%f[%a]123test%f[%A]
。这意味着:
您的模式(如所写)不适用于任何以非字母开头或结尾的单词。
如果您需要搜索包含字母和数字的片段,则需要将您的模式更改为'%f[%S]'..Word..'%f[%s]'
。