我一直在尝试查找模式的最后一个出现位置,而不是第一个出现位置,使用字符串中的string.find方法。
例如:在字符串“AAAAABBB”中,我想查找最后一个“A”的位置,而不是第一个。
这种情况是否可行?
谢谢。
str = "123456AAA7890AAABBBB"
print(str:match(".*()A"))
string.find
,请尝试以下方法:local _,p = str:find(".*A")
print(p)
local str = "123456AAA7890AAABBBB"
local s, e = str:find("A[^A]*$")
print(s)
print(str:sub(s))
或者将字符串反转并使用更简单的 string.find
调用。
local str = "123456AAA7890AAABBBB"
local revstr = str:reverse()
local ind = revstr:find("A")
print(#revstr - ind + 1)
print(str:sub(#revstr - ind + 1))