我需要为英语和非英语字符创建slug字符串(来自任何字符串的人类可读的URL slugs)...例如中文,日文,西里尔文和任何其他字符串。
因此,每个字符串(适用于所有语言)必须翻译成英文字符a-z,0-9,例如java-slugify-string-for-non-english-characters
如何在Java中实现这一目标?
答案 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。