gpt4 book ai didi

regex - 在 Scala 中删除变音符号

转载 作者:行者123 更新时间:2023-12-03 20:21:33 26 4
gpt4 key购买 nike

问题很简单,在某种语言中取出一个字符串,去掉变音符号。例如,取“téléphone”产生结果“telephone”。

在 Java 中,我可以使用这样的方法:

 public static String removeAccents(String str){
return Normalizer.normalize(str, Normalizer.Form.NFD).replaceAll("\\p{InCombiningDiacriticalMarks}+", "");
}

它工作正常,但在 Scala 中它没有......我尝试了如下代码:
val str = Normalizer.normalize("téléphone",Normalizer.Form.NFD)
val exp = "\\p{InCombiningDiacriticalMarks}+".r
exp.replaceAllIn(str,"")

它不起作用!

我认为,我在 Scala 中使用 Regex 时遗漏了一些东西,因此将不胜感激。

最佳答案

我在使用 Normalizer 时遇到了同样的问题。从 Apache Commons StringUtils 找到解决方案以stripAccents 的形式,它从字符串中删除变音符号。

 val str = stripAccents("téléphone")
println(str)

这将产生“电话”。希望这可以帮助某人!

关于regex - 在 Scala 中删除变音符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18037530/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com