你认为只有使用正则表达式才有可能吗?
这是我在 Go Playground 上的尝试
这是成功的一些脏代码
http://play.golang.org/p/YysZCB3vlu
我想将扩展的韩文字符转换为完整的字母。例如, “ㅈㅗㅎㅇㅡㄴㄱㅏㅂㅅㅇㅣㅆㅏㅇㅛㅇㅏㅊㅣㅁㅇㅏㄴㄴㅕㅇㅎㅏㅅㅔㅇㅛㅇㅜㅔ” 到좋은값이싸요아침안녕하세요웬
对于无法正确呈现韩文字符的浏览器:
좋 은 값 이 싸 요 아 침 안 녕 하 세 요 웬
简单的部分是韩语字母只能以一个辅音+一个或两个元音开头。这可以用 ( .([ㅏ-ㅣ])+
)来捕捉。
具有挑战性的部分是元音后面的零个或一个或最多两个可选辅音。难的另一个原因是,在最多两个可选辅音之后,我们还有另一个不属于前一个字母的辅音,这个辅音意味着另一个新字母的开始。
像下面这样:
ㄱㅏㅂㅅㅇㅣ
= ㄱㅏㅂㅅ + ㅇㅣ
= 값 + 이
= 값이
可以使用 if 条件和基本正则表达式捕获所有模式。但如果我有更短的版本就好了。
我的最终目标是转换 “ㅈㅗㅎㅇㅡㄴㄱㅏㅂㅅㅇㅣㅆㅏㅇㅛㅇㅏㅊㅣㅁㅇㅏㄴㄴㅕㅇㅎㅏㅅㅔㅇㅛㅇㅜㅔㄴ” 到좋은값이싸요아침안녕하세요웬
对于无法正确呈现韩文字符的浏览器:
좋 은 값 이 싸 요 아 침 안 녕 하 세 요 웬
神不在的星期二
相关分类