直接上代码:

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う,呵呵是日文

java判断字符串是否中文、日文的更多相关文章

  1. Java判断字符串是中文还是英文

    在做开发的时候我们经常需要用到根据某个字符或者字符串来判断其是中文还是英文,从而做相应的处理,其实不难,大多数人们都是用到正则来判断的,下面小贝就给大家分享一下Java判断字符串是中文还是英文 推荐文 ...

  2. java 判断字符串中是否包含中文并过滤掉中文

      java判断字符串中是否包含中文并过滤掉中文 CreateTime--2017年9月6日08:48:59 Author:Marydon 1.判断字符串中是否包含中文方法封装 /** * 判断字符串 ...

  3. Java_util_02_Java判断字符串是中文还是英文

    做微信开发,使用百度翻译API时,需要指定译文的语种.这就需要我们判断待翻译内容是中文还是英文,若是中文,则翻译成英文,若是英文则翻译成中文. 方法一:字符与字节的长度 依据:一个中文占两个字节,一个 ...

  4. java判断字符串是否为空的方法总结

    http://blog.csdn.net/qq799499343/article/details/8492672 以下是java 判断字符串是否为空的四种方法: 方法一: 最多人使用的一个方法, 直观 ...

  5. java判断字符串是否回文

    java判断字符串是否回文 /** * java判断字符串是否回文<br><br> * 基本思想是利用字符串首尾对应位置相比较 * * @author InJavaWeTrus ...

  6. Java 判断字符串是否为空的四种方法、优缺点与注意事项

    以下是Java 判断字符串是否为空的四种方法: 方法一: 最多人使用的一个方法, 直观, 方便, 但效率很低: if(s == null ||"".equals(s));方法二: ...

  7. java判断字符串内容

    java判断字符串是否全为数字 String str = "032";boolean isNum = str.matches("[0-9]+"); java判断 ...

  8. Java判断字符串是否符合yyyyMMdd日期格式

    Java判断字符串是否符合yyyyMMdd日期格式 代码: /** * 判断参数的格式是否为“yyyyMMdd”格式的合法日期字符串 * */ public static boolean isVali ...

  9. java - 判断 字符串是否为空

    java - 判断 字符串是否为空 方法一: 最多人使用的一个方法, 直观, 方便, 但效率很低.1:if(s == null || s.equals(""));方法二: 比较字符 ...

随机推荐

  1. RedisTemplate的key默认序列化器问题

    原文:https://blog.csdn.net/skymouse2002/article/details/80736577 redis的客户端换成了spring-boot-starter-data- ...

  2. Java学习笔记——第2篇

    Java程序的基本规则 Java程序的组织形式:纯粹的面向对象的程序设计语言,所以Java程序必须以类的形式存在,类是Java程序的最小程序单位,Java程序不允许可执行语句.方法等成分独立存在,所有 ...

  3. java中使用redis --- List列表的简单应用

    1.Dos中启动server端 2.idea中启动client端 public class RedisTest01 { public static void main(String[] args){ ...

  4. 建立component的多种方法

    vue之component 在Vue.js中定义组件模板的七种方式 终于搞懂了vue 的 render 函数(一) Vuejs2.0学习(Render函数,createElement,vm.$slot ...

  5. php流程控制之if else语法

    php流程控制之if else语法 if和else语法 这是一个非常重要的章节,也是PHP当中的一个重要的语法. [注意]我对这个语法的定义级别为:默写级别.也就是你需要,闭着眼睛,都能够写出来的东西 ...

  6. springboot启动时执行任务CommandLineRunner

    # SpringBoot中CommandLineRunner的作用> 平常开发中有可能需要实现在项目启动后执行的功能,SpringBoot提供的一种简单的实现方案就是添加一个model并实现Co ...

  7. unsigned和signed

    int分为unsigned(无正负号)和signed(有正负号) 一般int默认为signed unsigned和unsigned int意思相同

  8. 窗口看门狗 WWDG

    一,窗口看门狗 二,喂狗注意事项 三,程序设计 1.检查复位状态,有助于观察当前工作的可靠性 /* Check if the system has resumed from WWDG reset ,检 ...

  9. Elasticsearch环境搭建和介绍(Windows)

    一.Elasticsearch介绍和安装 1.1 介绍  Elastic Elastic官网:https://www.elastic.co/cn/ Elastic有一条完整的产品线:Elasticse ...

  10. 使用Python+selenium实现第一个自动化测试脚本

    原blog 一,安装Python. python官方下载地址:https://www.python.org/downloads/ 安装后点击开始菜单,在菜单最上面能找到IDLE. IDLE是pytho ...