如何从VBA中的韩语字符串中提取字符

10T*_*oth 3 unicode excel ms-access vba unicode-normalization

需要从MS-Excel和MS-Access中的韩语单词中提取初始字符.当我使用Left("한글",1)时,它将返回第一个音节,即한,我需要的是初始角色,即ㅎ.有这个功能吗?或者至少是成语?

如果您知道如何从String中获取Unicode值,我可以从那里开始工作,但我相信我会重新发明轮子.(再次)

Art*_*uer 8

免责声明:我对Access或VBA知之甚少,但您所拥有的是一个通用的Unicode问题,并不是特定于这些工具.我重新提出了您的问题,要添加与此问题相关的标签.

通过返回한,访问正在做正确的事情,它确实是那个双字符串的第一个字符.你想要的是这个hangul在其成分jamos中的规范分解,也称为Normalized Form D(NFD),用于"分解".NFD形式是한,其中第一个字符是你想要的.

另请注意,根据您的示例,您似乎希望函数返回jamo(ᄒ)的等效hangul(ㅎ) - 实际上有两个不同的代码点,因为它们代表不同的语义单元(完整的hangul音节,或者是一个部分的hangul).从前者到后者没有预先定义的映射,你可以为这个效果编写一个小函数,因为jamos的数量限制在几十个(真正的工作是在第一个函数中完成的,NFD).