我正在使用一種有關拼寫特定規則的語言。當單詞放在一起時,它們沒有空格,但偶爾使用'
或-
到-
區別一個單詞開頭和另一個單詞結尾,在極少數情況下可能發生混淆。如果兩個單詞的第一個和最後一個字母匹配特定模式,用連字符替換兩個單詞之間的空格?
我現在與當時的之間的空間中顯示的詞,如:
The cat caught the mouse.
不過,我需要把空格去掉,如:
Thecatcaughtthemouse.
這些空間之前雖然可以刪除,必須考慮關於'
和-
的佈局的規則:
首先,如果一個單詞的第一個字母(它也是foll OWS另一字)開始於一個元音(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」,或 「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.
我怎麼能代替匹配這些模式'
和-
單詞之間的空格?
而且,如果您需要Unicode處理,可以在[slnunicode](http://files.luaforge.net/releases/sln/slnunicode)中實現支持UTF-8的'gsub'。 – 2012-04-06 08:57:07