2014-02-19 34 views
1

是否可以使用Lua進行提示/審查函數,它基本上用星號代替大多數字符。例如:暗示/審查函數lua

censor("Answer") 

輸出:

"A****r" 

我試過很多東西,但我無法成功。有人可以幫忙嗎?

+0

退房正則表達式。 –

+2

向我們展示您嘗試過的內容。 – lhf

回答

5

你可以試試下面的函數這使得string.gsub使用:

function censor(word) 
    return string.gsub(word, "^(.)(.*)(.)$", function(a, b, c) 
     return a .. string.rep("*", #b) .. c 
    end) 
end 

你可能想了解patterns,這將有助於你的工藝字符串替換和字符串匹配表達式的未來。

+0

謝謝,會給它一個讀。 –

0

試試這個:

function censor(word) 
    return word:sub(1,1)..string.rep("*",#word-2)..word:sub(-1,-1) 
end 
+1

一個小問題:如果您傳遞的是單個字符的字符串,則結果字符串是該字符重複。 –