java slugify非英文字符的字符串

时间:2015-03-15 20:45:25

标签: java unicode normalization slug unicode-normalization

我需要为英语和非英语字符创建slug字符串(来自任何字符串的人类可读的URL slugs)...例如中文,日文,西里尔文和任何其他字符串。

因此,每个字符串(适用于所有语言)必须翻译成英文字符a-z,0-9,例如java-slugify-string-for-non-english-characters

如何在Java中实现这一目标?

2 个答案:

答案 0 :(得分:1)

您可以使用以Java编写的Slugify:https://github.com/slugify/slugify

答案 1 :(得分:1)

将每个字符转换为整数表示形式,并连接:

    String foo = "中国";
    StringBuilder result = new StringBuilder();
    for (int i=0; i<foo.length(); i++) {
        result.append("\\").append((int)foo.charAt(i));
    }
    System.out.println(result);

产地:

  

"\20013\22269"

...这很容易拆分并转换回字符串。您也可以填充数字,将它们转换为十六进制,并添加排除项,以便不转换ASCII /英文字符(如果您愿意)。您还可以查看进行此类编码的other, more stardard ways