问题描述
我正在尝试使用 Scala 语言中的 stripAccent
函数从泰语单词中去除口音,似乎无法去除口音。
import org.apache.commons.lang3.StringUtils.stripAccents
println("stripped string " + stripAccents("CLEกอ่ตัRงขึนในปีR"))
stripped string CLEกอ่ตัRงขึนในปีR
我在 Intellij Windows 环境中运行。它正在剥离许多其他语言,如德语、荷兰语等。 有没有人遇到过类似的问题,你是怎么解决的?
解决方法
您可以使用 java Normalizer
:
import java.text.Normalizer
val thaiString = "CLEกอ่ตัRงขึนในปีR"
val strippedString = Normalizer.normalize(thaiString,Normalizer.Form.NFD)
.replaceAll("[\\p{InCombiningDiacriticalMarks}\\p{IsM}]+","")
println(strippedString)
//CLEกอตRงขนในปR