python - 拆分韩语和数字

标签 python regex split cjk

我需要将韩文字母与两个数字分开。

韩语字母可以是一到三个单词,这让一切变得更加复杂。

以下是我知道的一些韩语正则表达式代码范围:

ㄱ ~ ㅎ: 0x3131 ~ 0x314e
ㅏ ~ ㅣ: 0x314f ~ 0x3163
가 ~ 힣: 0xac00 ~ 0xd7a3

前面的数字始终是 4 位数字,其他数字始终是 5 位数字。

这里有一些例子:

2019개회54321
2017가51584
2019가행견16997

我需要的应该是这样的:

Var_A = "2019"
Var_B = "가"
Var_C = "23220"

提前致谢;)

最佳答案

这里不需要正则表达式。由于您知道数字的长度,因此您可以对字符串进行切片。

获取前 4 位数字:

yourString[:4]

获取韩语部分:

yourString[4:-5]

获取最后 5 位数字:

yourString[-5:]

如果你真的想要一个正则表达式,你可以使用这个:

^(\d{4})([\u3131-\u3163\uac00-\ud7a3]+?)(\d{5})$

记得开启re.UNICODE选项进行Unicode匹配。前 4 位数字、韩文文本和后 5 位数字将分别在第 1、2 和 3 组中。

关于python - 拆分韩语和数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54761816/

相关文章:

python - 有没有办法将列表理解重写为 for 循环?

Python 的执行顺序

javascript - 如何在正则表达式 ColdFusion 中允许空字符串?

sql - 如何在 Postgres 函数中使用正则表达式替换?

php - 可选的空格正则表达式

android - 如何从字节数组中逐字节获取

python - 以上下文相关的方式通过分隔符分割字符串

python - Synapse 工作区中的 PySpark Windows 函数(超前、滞后)

python - 根据匹配列值与其他数据框的组合删除行 pandas

r - R 中的字符串拆分和重复行?