2015-01-07 69 views

回答

3

嘗試使用空捕獲:

str = "123456AAA7890AAABBBB" 
print(str:match(".*()A")) 

如果您需要使用string.find,試試這個:

local _,p = str:find(".*A") 
print(p) 
+0

謝謝,這是最簡單的一個 –

3
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)) 
+0

感謝, 啊..相反的是什麼,我腦子裏想但考慮到我正在工作的字符串的長度,我不知道會有多糟糕的表現。 –

+0

我不明白爲什麼需要模式中的「()」。 –

+0

哦,事實並非如此。這是從測試中遺留下來的。 –

相關問題