请帮助如何使用 LUA 模式缩短句子

Posted

技术标签:

【中文标题】请帮助如何使用 LUA 模式缩短句子【英文标题】:Please help how to shorten the sentence with LUA pattern 【发布时间】:2022-01-06 05:09:54 【问题描述】:

我的模式通过以下方式缩短字符串:

string.gsub("First Second Third", "%s?(.[\128-\191]*)%S+%s", "%1. ")
= "F. S. Third"

我怎样才能获得"First S. T."

非常非常非常感谢大家的回答。

【问题讨论】:

string.gsub("First Second Third", "%f[%S](.[\128-\191]*)%S+", "%1.") 【参考方案1】:

我想这就是你想要的

string.gsub("First Second Third", "%s(%a)%a*", " %1.")

返回

First S. T.

如果它需要更像你的模式,它会像这样,返回相同的,至少对于这个例子。但我认为[\128-\191] 部分对我来说没有多大意义

string.gsub("First Second Third", "%s(.[\128-\191]*)%S+", " %1.")

【讨论】:

【参考方案2】:

试试这个:

string.gsub("First Second Third", "(%S+)%s+(%S)%S*%s+(%S)%S*", "%1 %2. %3.")

该模式将单词选择为由空白运行分隔的非空白运行。它捕获第一个单词和其他单词的第一个字母。

【讨论】:

以上是关于请帮助如何使用 LUA 模式缩短句子的主要内容,如果未能解决你的问题,请参考以下文章

在 Scintilla 项目中使用调试模式时如何获取 cxx 文件中的句子

LuaJIT 是如何工作的 - 解释模式

PHP - 如果找到数组中的某个单词,则缩短字符串中的句子

缩短(限制)句子的长度

如何隐藏(或者缩短)php网站的网址 ?

如何使用 Python 识别抓取网页中的完整句子