【发布时间】:2021-06-27 03:25:42
【问题描述】:
我正在处理用乌兹别克语书写的文字。该语言有以下字母:
alphabet = ["a", "b", "c", "d", "e", "f", "g", "g'", "h", "i",
"j", "k", "l", "m", "n", "ng", "o", "o'", "p", "q", "r",
"s", "sh", "t", "u", "v", "x", "y", "z"]
如您所见,有些字母包含多个字符,例如o'、g' 和sh。如何将这种语言的单词拆分为乌兹别克语字母列表?因此,例如,将单词"o'zbek" 拆分为["o'", "z", "b", "e", "k"]。
如果我执行以下操作:
word = "o'zbek"
letters = list(word)
结果:
['o', "'", 'z', 'b', 'e', 'k']
这是不正确的,因为 o 和 ' 不在一起。
我也尝试过像这样使用 regex:
import re
expression = "|".join(alphabet)
re.split(expression, word)
但结果是:
['', "'", '', '', '', '']
【问题讨论】:
-
您说该语言有
'sh'作为字母,但它也有's'和'h'- 您希望脚本如何正确读取'asha'?是['a', 'sh', 'a']还是['a', 's', 'h', 'a']? (类似地,符号'是否允许在其他上下文中使用,还是仅在o或g之后使用?) -
如果是
s和h的组合,则应识别为字母sh,因此'asha'应拆分为['a', 'sh', 'a']。而且,是的,'仅用于字母o'和g'。