直接上代码:

import java.io.UnsupportedEncodingException;

public class StringUtil {

    /**
* 去掉字符串中的标点符号、空格和数字
*
* @param input
* @return
*/
public static String removePunctuation(String input) {
return input.replaceAll(" +", "").replaceAll("[\\pP\\p{Punct}]", "").replaceAll("\\d+", "");
} /**
* 判断字符串是否为中文
*
* @param input
* @return
*/
public static boolean isChinese(String input) {
return input.matches("^[\u4e00-\u9fa5]+$");
} /**
* 判断字符串是否为日文
*
* @param input
* @return
*/
public static boolean isJapanese(String input) {
try {
return input.getBytes("shift-jis").length >= (2 * input.length());
} catch (UnsupportedEncodingException e) {
return false;
}
} /**
* 将字符串转字码点
*
* @param input
* @return
*/
public static String stringToUnicode(String input) throws UnsupportedEncodingException {
StringBuffer out = new StringBuffer();
byte[] bytes = input.getBytes("unicode"); //将其byte转换成对应的16进制表示
for (int i = 0; i < bytes.length - 1; i += 2) {
out.append("\\u");
String str = Integer.toHexString(bytes[i + 1] & 0xff);
for (int j = str.length(); j < 2; j++) {
out.append("0");
}
String str1 = Integer.toHexString(bytes[i] & 0xff);
out.append(str1);
out.append(str);
}
return out.toString();
} /**
* 字码点转字符串
*
* @param unicode
* @return
*/
public static String unicodeToString(String unicode) {
StringBuffer sb = new StringBuffer();
String[] hex = unicode.split("\\\\u");
for (int i = 1; i < hex.length; i++) {
int index = Integer.parseInt(hex[i], 16);
sb.append((char) index);
}
return sb.toString();
} public static void main(String[] args) throws UnsupportedEncodingException {
String ss = "中华人民共和国";
String ss1 = "おはよう";
System.out.println(ss + " shift-jis编码字符数:" + ss.getBytes("shift-jis").length);
System.out.println(ss + " 2倍字符数:" + ss.length() * 2);
System.out.println(ss1 + "shift-jis编码字符数:" + ss1.getBytes("shift-jis").length);
System.out.println(ss1 + " 2倍字符数:" + ss1.length() * 2);
System.out.println(ss + " 字码点:" + stringToUnicode(ss));
System.out.println(ss1 + " 字码点:" + stringToUnicode(ss1));
System.out.println("\\u4e00 -\\u9fa5" + "对应的中文是:" + unicodeToString("\\u4e00") + " - " + unicodeToString("\\u9fa5")); String s = "中华人民共和国,成立了~~~";
String s1 = "1个和尚挑水喝, 2个和尚抬水喝, 3个和尚没呀没水喝";
String s2 = "あなたのお父さんとお母さんは大阪に行って、あなたのおじいさんとお婆さんはみんな東京に行って、あなたの弟の妹は北海道に行きました。";
String s3 = "1お、 2は、 3よ、 4う,呵呵";
System.out.println("开始测试:");
System.out.println(s + (isChinese(removePunctuation(s)) ? "是" : "不是") + "中文");
System.out.println(s1 + (isChinese(removePunctuation(s1)) ? "是" : "不是") + "中文");
System.out.println(s2 + (isJapanese(removePunctuation(s2)) ? "是" : "不是") + "日文");
System.out.println(s3 + (isJapanese(removePunctuation(s3)) ? "是" : "不是") + "日文");
}
}

  输出:

中华人民共和国 shift-jis编码字符数:13
中华人民共和国 2倍字符数:14
おはようshift-jis编码字符数:8
おはよう 2倍字符数:8
中华人民共和国 字码点:\ufeff\u4e2d\u534e\u4eba\u6c11\u5171\u548c\u56fd
おはよう 字码点:\ufeff\u304a\u306f\u3088\u3046
\u4e00 -\u9fa5对应的中文是:一 - 龥
开始测试:
中华人民共和国,成立了~~~是中文
1个和尚挑水喝, 2个和尚抬水喝, 3个和尚没呀没水喝是中文
あなたのお父さんとお母さんは大阪に行って、あなたのおじいさんとお婆さんはみんな東京に行って、あなたの弟の妹は北海道に行きました。是日文
1お、 2は、 3よ、 4う,呵呵是日文

最新文章

  1. 在IE11下设置SharePoint Server 2013却遇到“需要 Internet Explorer 才能使用此功能。”的解决办法
  2. Top 15 不起眼却有大作用的 .NET功能集
  3. 元素操作(sizing,尺寸获取,设值,偏移算法,坐标算法)
  4. elipse + maven + tomcat + springMVC环境搭建
  5. IOS-利用AFNetworking监听网络状态
  6. Android Timer用法
  7. #LeetCode# Container With Most Water (todo)
  8. asp.net 防止页面刷新或后退引起重复提交
  9. Chromium Graphics Update in 2014(滑动)
  10. Qt のEXecl
  11. 24.C++- 抽象类(存虚函数)、接口、多重继承
  12. Spring-cloud(二)注册服务提供者搭建
  13. ChromeDriver截图
  14. Dapper的基本使用,Insert、Update、Select、Delete
  15. 一些网站的meta标签的作用
  16. YQCB冲刺周第七天
  17. Mac下在Shell终端下使用open快速打开窗口文件夹
  18. nmap 端口扫描王,查看端口是否可访问,是否对外开放
  19. 201621123012《Java程序设计》第八周学习总结
  20. bootstrap-table设置某列序号自增

热门文章

  1. Swaks - SMTP界的瑞士军刀
  2. iptables详解(2)表中规则管理(增删改查)
  3. about微信小程序
  4. 2016年第六届蓝桥杯C/C++程序设计本科B组决赛 ——一步之遥(填空题题)
  5. Topshelf 使用
  6. TCP单线程实现并发
  7. STM32F10XX学习笔记的石墨连接
  8. redis 介绍与操作
  9. P2701 [USACO5.3]巨大的牛棚Big Barn
  10. Python数据类型解析(基础篇)