一 编码
经分析,我们常见的字符串莫过于:中文,中英文符号,字母,阿拉伯数字,罗马字符的排列组合。
基于此我们需要了解一下ASCII字符表:
ASCII码表,ASCII码一览表,ASCII码对照表完整版-ASCII码中文站 (habaijian.com)https://www.habaijian.com/
二 代码实现
public class GetChinese {
public static void main(String[] args) {
String source = "[;'8今天吃啥呀?我不知道呀::)})aji]";
String chinese = getChinese(source);
String alphabet = getAlphabet(source);
System.out.println("chinese:" + chinese);
System.out.println("alphabet:" + alphabet);
}
static String getChinese(String source) {
char[] chars = source.toCharArray();
StringBuilder stringBuilder = new StringBuilder();
for (char aChar : chars) {
int length = String.valueOf(aChar).getBytes().length;
System.out.println("char:" + aChar + ";" + "length:" + length);
if (length == 3) {
stringBuilder.append(aChar);
}
}
return stringBuilder.toString();
}
//通过ASCII表完成字符的匹配
static String getAlphabet(String source) {
char[] chars = source.toCharArray();
StringBuilder stringBuilder = new StringBuilder();
for (char aChar : chars) {
if (aChar > 127 || aChar < 0) {
stringBuilder.append(aChar);
}
}
return stringBuilder.toString();
}
// 我们可以通过ASCII表来完成字符小写,大写,以及数字的匹配。
}
结果: