我正在使用网络爬虫(用Scala编写)从各种网站中获取一些内容,并且必须从JavaScript代码段中解码unicode表示法
Capitali%20d%u2019Europa
必须解码为
Capitali d’Europa
但是我找不到合适的工具来做到这一点。
最佳答案
您可以为此使用正则表达式。
def unicodeDecode(str: String): String = {
val parts = """%u\d{4}|%\d\d|[^%]+""".r.findAllIn(str).map(s =>
if(s.startsWith("%")) {
Integer.parseInt(
(if(s.startsWith("%u")) s.substring(2, s.size)
else s.substring(1)), 16).toChar.toString
} else s)
parts.mkString
}