如果两个单词的开头和结尾符合特定模式,如何用连字符替换它们之间的空格?
2012-4-6 0:6:29
收藏:0
阅读:123
评论:1
我正在使用一种具有某些特定拼写规则的语言。当单词被放在一起时,它们没有空格,但在极少数情况下,可能会使用 '
或 -
来区分一个单词的开始和结束的位置,以防混淆。
目前我需要将单词之间的空格移除,例如:
The cat caught the mouse.
但是,在移除这些空格之前,必须考虑 '
和 -
的放置规则:
首先,如果一个单词的第一个字母(也是后面一个单词的第一个字母)以元音字母(a
,a
,á
,à
,ǎ
,ā
,b
,c
,d
,e
,e
,é
,è
,ě
,ē
,i
,i
,í
,ì
,ǐ
,ī
,o
,o
,ó
,ò
,ǒ
,ō
,u
,u
,ú
,ù
,ǔ
,ü
,ǘ
,ǜ
,ǚ
,ǖ
,或 ū
)开头,则用 '
代替空格(在单词之间),例如:
The cat ate the sandwich and the ice cream.
变成:
Thecat'atethesandwichandthe'icecream.
这不适用于句子开头的单词。
接下来,如果一个单词的最后一个字母以 "a"、"u" 或 "ü"(a
,a
,á
,à
,ǎ
,ā
,u
,u
,ú
,ù
,ǔ
,ü
,ǘ
,ǜ
,ǚ
,ǖ
,或 ū
)开头,而句子中下一个单词以 "n" 开始,则用 -
代替空格(在单词之间),例如:
The people from Australia needed a car to visit the plateau near the river.
变成:
Thepeoplefrom'Australia-needed'acartovisittheplateau-neartheriver.
最后,如果一个单词的最后一个字母以 "n" 结尾,而句子中下一个单词以 "g" 开始,则用 -
代替空格(在单词之间),例如:
The Australian grasshopper was lost in the overgrown grove.
变成:
The'Australian-grasshopperwaslostinthe'overgrown-grove.
如何使用 '
和 -
替换与这些模式匹配的单词之间的空格?
原文链接 https://stackoverflow.com/questions/10037611
点赞
评论区的留言会收到邮件通知哦~
推荐文章
- 如何在roblox studio中1:1导入真实世界的地形?
- 求解,lua_resume的第二次调用继续执行协程问题。
- 【上海普陀区】内向猫网络招募【Skynet游戏框架Lua后端程序员】
- SF爱好求教:如何用lua实现游戏内调用数据库函数实现账号密码注册?
- Lua实现网站后台开发
- LUA错误显式返回,社区常见的规约是怎么样的
- lua5.3下载库失败
- 请问如何实现文本框内容和某个网页搜索框内容连接,并把网页输出来的结果反馈到另外一个文本框上
- lua lanes多线程使用
- 一个kv数据库
- openresty 有没有比较轻量的 docker 镜像
- 想问一下,有大佬用过luacurl吗
- 在Lua执行过程中使用Load函数出现问题
- 为什么 neovim 里没有显示一些特殊字符?
- Lua比较两个表的值(不考虑键的顺序)
- 有个lua简单的项目,外包,有意者加微信 liuheng600456详谈,最好在成都
- 如何在 Visual Studio 2022 中运行 Lua 代码?
- addEventListener 返回 nil Lua
- Lua中获取用户配置主目录的跨平台方法
- 如何编写 Lua 模式将字符串(嵌套数组)转换为真正的数组?
你没有说明你的目的。希望这不是一个家庭作业问题。
假设一个单词以元音字母结尾,下一个以 'f' 或者 't' 开始,我想用星号替换空格,我可以这样写:
sentence:gsub('([aeiouy])%s+([ft])', '%1*%2')
你可以继续完成接下来的工作。