gpt4 book ai didi

c++ - 将韩语单词分割成单个音节 - C++/Python

转载 作者:太空狗 更新时间:2023-10-29 23:06:46 26 4
gpt4 key购买 nike

我正在尝试将韩语字符串分割成单个音节。所以输入将是一个字符串,如“서울특별시”,结果是“서”,“울”,“특”,“별”,“시”。我曾尝试使用 C++ 和 Python 对字符串进行分段,但结果是一系列的 ?或空格(但是字符串本身可以在屏幕上正确打印)。在 C++ 中,我首先将输入字符串初始化为 string korean="서울특별시",然后使用 string::iterator 遍历字符串并打印每个单独的组件。在 Python 中,我刚刚使用了一个简单的 for 循环。

我想知道是否有解决这个问题的方法。谢谢。

最佳答案

我根本不懂韩语,也无法评论音节的划分,但在 Python 2 中,以下工作:

# -*- coding: utf-8 -*- 
print(repr(u"서울특별시"))
print(repr(u"서울특별시"[0]))

输出:

u'\uc11c\uc6b8\ud2b9\ubcc4\uc2dc'
u'\uc11c'

在 Python 3 中,您不需要 u 来表示 Unicode 字符串。

输出是字符串中字符的 unicode 值,这意味着在这种情况下字符串已被正确分割。我用 repr 打印它们的原因是我使用的终端中的字体不能代表它们,所以没有 repr 我只能看到方框。但这纯粹是一个渲染问题,repr 证明数据是正确的。

因此,如果您从逻辑上知道如何识别音节,那么您可以使用 repr 查看您的代码实际做了什么。 Unicode NFC 听起来很适合实际识别它们(感谢 R. Martinho Fernandes),unicodedata.normalize() 是实现这一点的方法。

关于c++ - 将韩语单词分割成单个音节 - C++/Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14624377/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com