java判断字符串中是否包含中文 过滤中文
- package com.test;
- import java.util.regex.Matcher;
- import java.util.regex.Pattern;
- public class Test {
- @org.junit.Test
- public void test(){
- String fileName = "test,中文";
- System.out.println(filterChinese(fileName));
- }
- /**
- * 判断字符串中是否包含中文
- * @param str
- * 待校验字符串
- * @return 是否为中文
- * @warn 不能校验是否为中文标点符号
- */
- public static boolean isContainChinese(String str) {
- Pattern p = Pattern.compile("[\u4e00-\u9fa5]");
- Matcher m = p.matcher(str);
- if (m.find()) {
- return true;
- }
- return false;
- }
- /**
- * 过滤掉中文
- * @param str 待过滤中文的字符串
- * @return 过滤掉中文后字符串
- */
- public static String filterChinese(String str) {
- // 用于返回结果
- String result = str;
- boolean flag = isContainChinese(str);
- if (flag) {// 包含中文
- // 用于拼接过滤中文后的字符
- StringBuffer sb = new StringBuffer();
- // 用于校验是否为中文
- 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();
- }
- return result;
- }
- /**
- * 校验一个字符是否是汉字
- *
- * @param c
- * 被校验的字符
- * @return true代表是汉字
- */
- public static boolean isChineseChar(char c) {
- try {
- return String.valueOf(c).getBytes("UTF-8").length > 1;
- } catch (Exception e) {
- e.printStackTrace();
- return false;
- }
- }
- /**
- * 验证字符串内容是否包含下列非法字符<br>
- * `~!#%^&*=+\\|{};:'\",<>/?○●★☆☉♀♂※¤╬の〆
- *
- * @param content
- * 字符串内容
- * @return 't'代表不包含非法字符,otherwise代表包含非法字符。
- */
- public static char validateLegalString(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);
- break L1;
- }
- }
- }
- return isLegalChar;
- }
- /**
- * 验证是否是汉字或者0-9、a-z、A-Z
- *
- * @param c
- * 被验证的char
- * @return true代表符合条件
- */
- public static boolean isRightChar(char c) {
- return isChinese(c) || isWord(c);
- }
- /**
- * 校验某个字符是否是a-z、A-Z、_、0-9
- *
- * @param c
- * 被校验的字符
- * @return true代表符合条件
- */
- public static boolean isWord(char c) {
- String regEx = "[\\w]";
- Pattern p = Pattern.compile(regEx);
- Matcher m = p.matcher("" + c);
- return m.matches();
- }
- /**
- * 判定输入的是否是汉字
- *
- * @param c
- * 被校验的字符
- * @return true代表是汉字
- */
- public static boolean isChinese(char c) {
- 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是否全是中文
- *
- * @param name
- * 被校验的字符串
- * @return true代表全是汉字
- */
- public static boolean checkNameChese(String name) {
- boolean res = true;
- char[] cTemp = name.toCharArray();
- for (int i = 0; i < name.length(); i++) {
- if (!isChinese(cTemp[i])) {
- res = false;
- break;
- }
- }
- return res;
- }
- }
java判断字符串中是否包含中文 过滤中文的更多相关文章
- java 判断字符串中是否包含中文并过滤掉中文
java判断字符串中是否包含中文并过滤掉中文 CreateTime--2017年9月6日08:48:59 Author:Marydon 1.判断字符串中是否包含中文方法封装 /** * 判断字符串 ...
- js判断字符串中是否包含特殊字符、中文
/** * @author:xc * @desc: 特殊字符校验 除了下划线 */ containSpecial(str) { var containSpecial = RegExp( /[(\ )( ...
- [C#]判断字符串中是否包含中文
关键代码: /// <summary> /// 判断字符串中是否包含中文 /// </summary> /// <param name="str"&g ...
- PHP判断字符串中是否包含指定字符串,支持中文哦
RT,随手写的 /** * 判断字符串中是否包含指定字符串 * @var source 源字符串 * @var target 要判断的是否包含的字符串 * @return bool */ functi ...
- php字符串查找函数 php查找字符串中出现的次数函数substr_count,判断字符串中是否包含另一个字符串函数strpos
php字符串查找函数 php查找字符串中出现的次数函数substr_count,判断字符串中是否包含另一个字符串函数strpossubstr_count($haystack, $needle [,$o ...
- 判断字符串中是否包含Emoji表情代码
判断字符串中是否包含Emoji表情代码: + (BOOL)stringContainsEmoji:(NSString *)string { __block BOOL returnValue = NO; ...
- python判断字符串中是否包含子字符串
python判断字符串中是否包含子字符串 s = '1234问沃尔沃434' if s.find('沃尔沃') != -1: print('存在') else: print('不存在' ...
- Node.js之判断字符串中是否包含某个字符串
server.txt内容如下: 阿里云服务器 关于应用场景,就不多说了,字符串是不论是后端开发还是前端开发等,都是要经常打交道了. test.js(node.js代码,只要被本地装了node.js环境 ...
- java判断字符串中是否含有中文
/** * 判断字符串中是否含有中文 */ public static boolean isCNChar(String s){ boolean booleanValue = false; for(in ...
随机推荐
- windows环境下把Python代码打包成独立执行的exe
windows环境下把Python代码打包成独立执行的exe可执行文件 有时候因为出差,突然急需处理一批数据.虽然写好的脚本存储在云端随用随取,然而编译的环境还需要重新搭建,模块也需要重新装载,从 ...
- html-display标签
标签可以分为行内标签和行间块级标签, 块级标签:占一行,如果父标签没有限高度,子标签会自动扩展父标签的高度,行内标签不能, 可以设置宽度 高度 padding margin 行内标签: 不能设置 ...
- 前端js 省市联动
代码下载地址 <!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www. ...
- VC禁止或允许拖拽改变窗口尺寸
创建窗口时用WS_THICKFRAME控制 BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs) { if( !CMDIFrameWndEx:: ...
- PHP echo()、print()、print_r()、var_dump()、var_export()的区别
PHP中echo.print.print_r.var_dump.var_export的用法与区别 这些均为输出变量的内容: echo();不是函数.是PHP语句.没有返回值:输出一个或者多个字符串或者 ...
- 【linux】之查看物理CPU个数、核数、逻辑CPU个数
# 总核数 = 物理CPU个数 X 每颗物理CPU的核数 # 总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数 # 查看物理CPU个数 cat /proc/cpuinfo| ...
- 【springBoot】之配置文件application
springboot使用一个全局的配置文件application.properties或者是application.yml,放在在src/main/recesources下或者在类路径下的/confi ...
- Maven 专题
目录: Maven的安装 Eclipse安装Maven插件 Nexus私服搭建 Maven+Nexus配置 发布自己的构件(至Nexus) 创建maven多模块工程group 整理中[...] 先放一 ...
- 【Mysql】事务日志-Write Ahead logging vs command-logging(转)
原理讲解: Write Ahead logging vs command logging Write Ahead logging 持久化数据保存在磁盘,数据的存储是随机的,并非顺序: 内存中保存磁盘数 ...
- R read.table 一个问题的解决
Warning message: In scan(file, what, nmax, sep, dec, quote, skip, nlines, na.strings, : EOF within q ...