packagecom.test;importjava.util.regex.Matcher;importjava.util.regex.Pattern;public classTest {

@org.junit.Testpublic voidtest(){

String fileName= "test,中文";

System.out.println(filterChinese(fileName));

}/*** 判断字符串中是否包含中文

*@paramstr

* 待校验字符串

*@return是否为中文

* @warn 不能校验是否为中文标点符号*/

public static booleanisContainChinese(String str) {

Pattern p= Pattern.compile("[\u4e00-\u9fa5]");

Matcher m=p.matcher(str);if(m.find()) {return true;

}return false;

}/*** 过滤掉中文

*@paramstr 待过滤中文的字符串

*@return过滤掉中文后字符串*/

public staticString filterChinese(String str) {//用于返回结果

String result =str;boolean flag =isContainChinese(str);if (flag) {//包含中文//用于拼接过滤中文后的字符

StringBuffer sb = newStringBuffer();//用于校验是否为中文

boolean flag2 = false;//用于临时存储单字符

char chinese = 0;//5.去除掉文件名中的中文//将字符串转换成char[]

char[] charArray =str.toCharArray();//过滤到中文及中文字符

for (int i = 0; i < charArray.length; i++) {

chinese=charArray[i];

flag2=isChinese(chinese);if (!flag2) {//不是中日韩文字及标点符号

sb.append(chinese);

}

}

result=sb.toString();

}returnresult;

}/*** 校验一个字符是否是汉字

*

*@paramc

* 被校验的字符

*@returntrue代表是汉字*/

public static boolean isChineseChar(charc) {try{return String.valueOf(c).getBytes("UTF-8").length > 1;

}catch(Exception e) {

e.printStackTrace();return false;

}

}/*** 验证字符串内容是否包含下列非法字符

* `~!#%^&*=+\\|{};:'\",<>/?○●★☆☉♀♂※¤╬の〆

*

*@paramcontent

* 字符串内容

*@return't'代表不包含非法字符,otherwise代表包含非法字符。*/

public static charvalidateLegalString(String content) {

String illegal= "`~!#%^&*=+\\|{};:'\",<>/?○●★☆☉♀♂※¤╬の〆";char isLegalChar = 't';

L1:for (int i = 0; i < content.length(); i++) {for (int j = 0; j < illegal.length(); j++) {if (content.charAt(i) ==illegal.charAt(j)) {

isLegalChar=content.charAt(i);breakL1;

}

}

}returnisLegalChar;

}/*** 验证是否是汉字或者0-9、a-z、A-Z

*

*@paramc

* 被验证的char

*@returntrue代表符合条件*/

public static boolean isRightChar(charc) {return isChinese(c) ||isWord(c);

}/*** 校验某个字符是否是a-z、A-Z、_、0-9

*

*@paramc

* 被校验的字符

*@returntrue代表符合条件*/

public static boolean isWord(charc) {

String regEx= "[\\w]";

Pattern p=Pattern.compile(regEx);

Matcher m= p.matcher("" +c);returnm.matches();

}/*** 判定输入的是否是汉字

*

*@paramc

* 被校验的字符

*@returntrue代表是汉字*/

public static boolean isChinese(charc) {

Character.UnicodeBlock ub=Character.UnicodeBlock.of(c);if (ub ==Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS|| ub ==Character.UnicodeBlock.CJK_COMPATIBILITY_IDEOGRAPHS|| ub ==Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A|| ub ==Character.UnicodeBlock.GENERAL_PUNCTUATION|| ub ==Character.UnicodeBlock.CJK_SYMBOLS_AND_PUNCTUATION|| ub ==Character.UnicodeBlock.HALFWIDTH_AND_FULLWIDTH_FORMS) {return true;

}return false;

}/*** 校验String是否全是中文

*

*@paramname

* 被校验的字符串

*@returntrue代表全是汉字*/

public static booleancheckNameChese(String name) {boolean res = true;char[] cTemp =name.toCharArray();for (int i = 0; i < name.length(); i++) {if (!isChinese(cTemp[i])) {

res= false;break;

}

}returnres;

}

}

java过滤汉字和英文,java判断及过滤汉字相关推荐

  1. Java面试题目汇总/英文Java面试题(核心知识)

    一.面向对象的三个基本特征    2.方法重载和方法重写的概念和区别    3.接口和内部类.抽象类的特性    4.文件读写的基本类    **5.串行化的注意事项以及如何实现串行化    6.线程 ...

  2. JAVA中边长的英文,JAVA的一部分术语中英文对照(

    JAVA的部分术语中英文对照( access control 访问控制 accessibility 可访问能力,可访问性 accessor method 访问方法 adapter pattern 适配 ...

  3. asp.net 将中文汉字转换为英文首字母和将汉字转换为拼音全拼

    数据库:Account 表名:Customer 列名:PinYin /// <summary>     /// 获取汉字的首字母和全拼     /// </summary>   ...

  4. oracle 汉字和英文排序,关于oracle对汉字的排序

    最近项目过程中碰到对于数据进行排序按照升序排序需求.这需求貌似很简单,我没多想直接order by columnName.忽略了汉字排序的问题导致bug的出现. 业务要求,按照excel中排序出来的结 ...

  5. java用正则表达式判断字符串中是否仅包含英文字母、数字和汉字_灵思致远Leansmall的博客-CSDN博客_java判断字符串只包含数字字母

    import java.util.regex.Matcher; import java.util.regex.Pattern;public class StrValidate {// 纯数字priva ...

  6. java 英文字符 字节_3、在JAVA语言中,每个英文字符占 个字节,每个中文汉字占( )个字节。...

    [判断题]中心原子中的几个原子轨道杂化时,必形成数目相同的杂化轨道. [单选题]集合 用区间表示正确的是 ( ) [单选题]15.Java语言的类间的继承关系是 [单选题]8.编译Java Appli ...

  7. 用java实现输入一行字符,分别统计出其中中文汉字、英文字母、空格、数字和其它字符的个数

    用java实现输入一行字符,分别统计出其中中文汉字.英文字母.空格.数字和其它字符的个数 1.分析 1.1 如何进行输入? 需要输入一行字符意味着需要建立一个Scanner对象,用来获取接收的内容 而 ...

  8. Java 判断是否为汉字 判断是否为乱码 判断字符串是否为双整型数字 整数 数字...

    /**   * 判断是否为汉字   *    * @param str   * @return   */  public static boolean isGBK(String str) {   ch ...

  9. java 统计汉字个数_Java简单统计字符串中汉字,英文字母及数字数量的方法

    本文实例讲述了java简单统计字符串中汉字,英文字母及数字数量的方法.分享给大家供大家参考,具体如下: package org.zhy.demo.algorithm; /** * 有一个字符串,其中包 ...

最新文章

  1. 调试应用不发愁,免安装的 curl 来帮忙
  2. python3.x获取windows自启动程序列表
  3. c# 写文件注意问题及用例展示
  4. 从一个数据流中取出中位数
  5. Selenium 窗口切换
  6. 【ubuntu操作系统入门】Ubuntu常用命令大全一
  7. Android 颜色表
  8. 计算机毕业设计django基于python智能在线考试阅卷系统(源码+系统+mysql数据库+Lw文档)
  9. Study「Photoshop」:勾线图
  10. 选择率,基数计算公式
  11. Redis复制:部分同步PSYNC详解
  12. ewebeditor***
  13. golang学习之negroni对于第三方中间件的使用分析
  14. OpenCv-C++-KAZE(AKAZE)局部特征匹配(二)
  15. 北大计算机图灵班,北京大学举办图灵班开班仪式
  16. docker ——安装tomcat
  17. Flutter 错误:The method ‘>‘ was called on null
  18. 干货丨机器学习/算法19家公司面试心经(内含薪资待遇)
  19. 百度移动专区如何绑定站点
  20. 手机浏览器微信h5支付

热门文章

  1. TokenInsight 对话首席——隐私安全计算,价值几何?
  2. java的像素与dpi_DPI与像素的关系
  3. java 室内3d_室内地图制作-首款实时室内绘制室内地图-3D室内地图
  4. go语言爬虫解析html,Python爬虫【如何爬取内容(html)和解析内容】-Go语言中文社区...
  5. 一天一个面试题之——反射
  6. C语言递归问题【青蛙跳台阶】和【汉诺塔】
  7. 数字图像处理入门-邻域、连通性、通路和距离
  8. 如何在Web of Science上免费下载文献
  9. 从英特尔上海紫竹研发中心归来,认真聊一聊傲腾
  10. Win10插了耳机电脑还是外放怎么办