实际上,这实际上不像用连字符替换空格那样简单。您通常还希望将其全部变为小写并规范化/替换变音符号,例如á,ö,è等,这些都是 无效的
URL字符。唯一有效的字符在此Wikipedia页面的第二表中被列为“未保留的字符” 。
这样的函数如下所示:
public static String prettyURL(String string) { return Normalizer.normalize(string.toLowerCase(), Form.NFD) .replaceAll("\p{InCombiningDiacriticalMarks}+", "") .replaceAll("[^\p{Alnum}]+", "-");}它基本上执行以下操作:
- 小写字符串
- 删除组合的变音标记(在Normalizer从实际字符中“提取”了它们之后)
- 用连字符替换非字母数字字符
也可以看看:
- JSP 2.0 SEO友好链接编码



