如何统计字符串中的韩语字符?附英文字符数字统计代码
如何在Python中统计韩语字符数量?
没问题,你完全可以用ord()函数来实现韩语字符的统计,这也是最直接准确的方式之一。
首先,韩语里最常见的谚文音节(比如안、녕这类完整字符)的Unicode编码范围是 U+AC00 到 U+D7AF;如果还需要统计单独的谚文辅音/元音(比如ㄱ、ㅏ这类单个字符),它们的范围是U+1100 到 U+11FF。我们可以基于这个范围来判断字符是否为韩语。
下面是修改后的完整代码,已经加入了韩语字符的统计逻辑:
a = 0 b = 0 c = 0 d = 0 num = input("type something ") for i in num: if i.isupper(): a += 1 elif i.islower(): b += 1 elif i.isdigit(): c += 1 # 判断是否为谚文音节(最常用的韩语字符) elif ord(i) >= 0xAC00 and ord(i) <= 0xD7AF: d += 1 # 可选:如果需要统计单独的谚文辅音/元音,取消下面两行的注释 # elif ord(i) >= 0x1100 and ord(i) <= 0x11FF: # d += 1 print("uppercase letters: ", a) print("lowercase letters: ", b) print("numbers: ", c) print("korean letters: ", d)
简单解释一下:
ord(i)会返回字符i对应的Unicode编码值,我们只需要判断这个值是否落在韩语字符的范围内即可。- 如果不需要统计单独的辅音/元音,就保留上面的判断逻辑;如果需要,就把注释的代码块启用。
另外补充一种思路:如果你想用更通用的方式识别非拉丁字母,也可以借助unicodedata模块的category()方法,但这种方法会把日语、中文等其他非拉丁字符也统计进去,所以如果只想精准统计韩语,还是用Unicode范围判断更合适。
内容的提问来源于stack exchange,提问作者Chan Kim
相关产品推荐
相关产品推荐

