如果两个单词的第一个和最后一个字母与特定模式匹配,如何用连字符替换两个单词之间的空格?

时间:2012-04-05 23:53:49

标签: lua replace

我正在使用一种对拼写有一些特殊规则的语言。将单词放在一起时,它们没有空格,但偶尔会使用'--来区分一个单词的开头和另一个单词的结尾,在极少数情况下会出现混淆。

我当前显示的单词之间有空格,例如:

The cat caught the mouse.

但是,我需要删除空格,例如:

Thecatcaughtthemouse.

在删除这些空格之前,必须考虑有关'-展示位置的规则:

首先,如果单词的第一个字母(也跟随另一个单词)以元音开头(aaáà,{{ 1}},ǎābcdee,{{1} },éèěēiiíìǐīooóòǒō,{{ 1}},uuúùǔüǘ或{{1然后用ǜ(在单词之间)替换空格,例如:

ǚ

这变为:

ǖ

这不适用于句子开头的单词。

接下来,如果单词的最后一个字母以“a”,“u”或“ü”开头(ū'The cat ate the sandwich and the ice cream. Thecat'atethesandwichandthe'icecream. aaáàǎāuu,{ {1}},úùǔü)和句子中的下一个单词以“n”开头,然后用{{替换空格1}}(在单词之间),例如:

ǘ

这变为:

ǜ

最后,如果单词的最后一个字母以“n”结尾,并且句子中的下一个单词以“g”开头,则用ǚ(单词之间)替换空格,例如:

ǖ

这变为:

ū

如何使用-The people from Australia needed a car to visit the plateau near the river. 替换匹配这些模式的单词之间的空格?

1 个答案:

答案 0 :(得分:1)

你没有说你为什么要这样做。我们希望这不是一个家庭作业问题。

假设一个单词以元音结尾,而下一个单词以'f'或't'开头,我想用星号替换空格,我写

sentence:gsub('([aeiouy])%s+([ft])', '%1*%2')

你可以从那里拿走它。