像Rails和Django这样的Web框架内置了对“slug”的支持,用于生成可读性高且友好的SEO URL:
一个slug字符串通常仅包含字符a-z
、0-9
和-
,因此可以在不需要URL转义(think "foo%20bar")的情况下编写。
我正在寻找一种Java slug函数,它能够接受任何有效的Unicode字符串并返回一个slug表示形式(a-z
、0-9
和-
)。
一个简单的slug函数可能是这样的:
return input.toLowerCase().replaceAll("[^a-z0-9-]", "");
然而,这种实现方式无法处理国际化和重音符号(ë
会被转换成e
)。解决这个问题的一种方法是列举所有特殊情况,但那并不太优雅。我正在寻求更加周全和通用的方法。
我的问题是:
- 在Java中生成类似于Django/Rails的slug,什么是最常见/实用的方法?