如何用string.gsub提取以英文句号分隔的字符串最后一个单词
获取以句号分隔的字符串最后一个单词(Lua)
你可以用两种简单的Lua字符串处理方法实现需求,不需要复杂操作:
方法1:使用string.gsub
利用正则匹配并替换掉最后一个句号之前的所有内容:
str = "These.Are.A.Few.Words.But.I_only_want_this" last_word = str:gsub("^.*%.", "") print(last_word) -- 输出: I_only_want_this
正则说明:^.*%. 匹配从字符串开头到最后一个英文句号的所有内容,替换为空后剩下的就是最后一个单词。(注意句号在正则中是特殊字符,需要用%转义)
方法2:使用string.match(更直观)
直接匹配字符串结尾处所有非句号的字符:
str = "These.Are.A.Few.Words.But.I_only_want_this" last_word = str:match("[^%.]+$") print(last_word) -- 输出: I_only_want_this
正则说明:[^%.]+ 匹配任意数量的非句号字符,$ 限定匹配范围在字符串结尾,刚好对应最后一个单词。
两种方法都能直接保留原字符串中的特殊字符,完全符合你的需求。
内容的提问来源于stack exchange,提问作者OldSkoolMatt
相关产品推荐
相关产品推荐

