我有以下组合变音符号字符
[ọ́、ẹ̀、ẹ̀、ẹ́]
。当通过像
这样的字符串中的字符串索引访问它们时,我希望将它们保留为一个字符“ọ̀rẹ̀”
例如当前的分割是:
s = "ọ̀rẹ̀"
s[0] = ò
s[1] = .
s[2] = r
s[3] = è
s[4] = .
如何让 s[0] 和 s[1] 成为一个字符而不是原始字符串中的两个字符?
有什么想法如何在 python 中完成这个工作吗?
解决方案。
import unicodedata
def combinedchars(string):
result = []
for char in string:
if unicodedata.combining(char):
result[-1] += char
else:
result.append(char)
return(result)
s = "Borbá̭ra̭"
print(list(s))
给予
['B', 'o', 'r', 'b', 'á', '̭', 'r', 'a', '̭']
将变音标记组合为分隔字符。
2.
print(combinedchars(s))
给出所需的输出
['B', 'o', 'r', 'b', 'á̭', 'r', 'a̭']
处理将变音符号与前面的字符组合在一起。
如果您想从列表字符创建字符串,只需使用
join
方法
x = ['ọ́', 'ọ̀', 'ẹ̀', 'ẹ́']
print("".join(x))