将韩语单词分割成单独的音节 - C++/Python
Segment a korean word into individual syllables - C++/Python
我正在尝试将韩语字符串分割成单独的音节。因此,输入将是一个字符串,如"서울특별시"和结果"서","울","특","별","시"。我已经尝试使用 C++ 和 Python 来分割字符串,但结果是一系列 ?或空格(但是字符串本身可以正确打印在屏幕上)。在 c++ 中,我首先将输入字符串初始化为 string korean="서울특별시"
,然后使用string::iterator
遍历字符串并打印每个单独的组件。在Python中,我刚刚使用了一个简单的for
循环。
我想知道是否有解决这个问题的方法。谢谢。
我根本不懂韩语,也无法评论音节的划分,但在 Python 2 中,以下内容有效:
# -*- coding: utf-8 -*-
print(repr(u"서울특별시"))
print(repr(u"서울특별시"[0]))
输出:
u'uc11cuc6b8ud2b9ubcc4uc2dc'
u'uc11c'
在 Python 3 中,你不需要 Unicode 字符串的u
。
输出是字符串中字符的 unicode 值,这意味着在这种情况下字符串已被正确切割。我用repr
打印它们的原因是我使用的终端中的字体无法代表它们,因此没有repr
我只会看到方框。但这纯粹是一个渲染问题,repr
表明数据是正确的。
因此,如果您从逻辑上知道如何识别音节,那么您可以使用repr
来查看您的代码实际做了什么。Unicode NFC听起来像是实际识别它们的好候选者(感谢R. Martinho Fernandes),unicodedata.normalize()
是实现这一目标的方法。
相关文章:
- 如何运行位于boost/libs/python/example/tutorial目录中的hello.cpp和Jamfil
- Pybind11:将元组列表从Python传递到C++
- 如何在c++中使用引用实现类似python的行为
- 是否可以通过C++扩展强制多个python进程共享同一内存
- 递归列出所有目录中的C++与Python与Ruby的性能
- IPC使用多个管道和分支进程来运行Python程序
- 从python中调用C++函数并获取返回值
- Python 3.7 和 excess_args 的 SWIG 问题
- Python中的for循环与C++有何不同
- 使用Pybind11向Python公开Eigen::张量
- Python str to C++ to Python str
- 如何使用Python从C++中读取谷物序列化数据
- 如何在C++中使用pybind11加载一个pickle python列表
- 如何在c++中使用system()来运行包含空格的python脚本
- python集合的C++等价物是什么.计数器
- 如果C++对象的类在另一个boost模块中声明,如何使用boost将指向该对象的指针返回到python
- 从python调用openMP共享库时,未定义opnMP函数
- 使用JsonCpp将数据返回到带有pybind11的python会在python调用中产生Symbol not foun
- 如何将真正的字符串从python c-api转换为python脚本
- Python ctype 'c_char_p' Memory Leak