问题很简单,将某种语言中的字符串删除变音符号。例如,采用“t\xc3\xa9l\xc3\xa9phone”会产生结果“telephone”。
\n\n在Java中我可以使用这样的方法:
\n\n public static String removeAccents(String str){\n return Normalizer.normalize(str, Normalizer.Form.NFD).replaceAll("\\\\p{InCombiningDiacriticalMarks}+", "");\n}\nRun Code Online (Sandbox Code Playgroud)\n\n它工作正常,但在 scala 中却不行...我尝试了如下代码:
\n\nval str = Normalizer.normalize("t\xc3\xa9l\xc3\xa9phone",Normalizer.Form.NFD)\nval exp = "\\\\p{InCombiningDiacriticalMarks}+".r\nexp.replaceAllIn(str,"")\nRun Code Online (Sandbox Code Playgroud)\n\n它不起作用!
\n\n我想,我在 Scala 中使用正则表达式时遗漏了一些东西,所以任何帮助将不胜感激。
\n我正在尝试javascriptRoutes在Play 2(Scala)中使用,我收到错误(见下文).这是我做的:
javascriptRoutes方法到Application控制器def javascriptRoutes = Action { implicit request =>
import routes.javascript._
Ok(Routes.javascriptRouter("jsRoutes")(Orders.searchProducts))
.as("text/javascript")
}
Run Code Online (Sandbox Code Playgroud)
routes文件GET /assets/javascripts/routes controllers.Application.javascriptRoutes
Run Code Online (Sandbox Code Playgroud)
<script>导入到main.scala.html<head>
...
<script type="text/javascript" src="@routes.Application.javascriptRoutes"></script>
...
</head>
Run Code Online (Sandbox Code Playgroud)
有了这些更改,我在JavaScript控制台中收到以下错误:
GET http://localhost:9000/assets/javascripts/routes 404 (Not Found)
Uncaught ReferenceError: jsRoutes is not defined
Run Code Online (Sandbox Code Playgroud)
我错过了什么?