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

CreateTime--2017年9月6日08:48:59

Author:Marydon

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

1.判断字符串中是否包含中文方法封装

/**
 * 判断字符串中是否包含中文
 * @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;
}

  说明:需要导入

import java.util.regex.Matcher;
import java.util.regex.Pattern; 

2.过滤中文

/**
 * 过滤掉中文
 * @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;
}

  说明:isChinese(char)方法见文章:java-中文及特殊字符校验

3.测试

public static void main(String[] args) {
    String fileName = "test,中文";
    System.out.println(filterChinese(fileName));
}

4.更多校验请移步文章:java-中文及特殊字符校验

时间: 2024-10-11 16:44:03

java-判断字符串中是否包含中文并过滤掉中文的相关文章

java判断字符串中是否包含汉字

原文:java判断字符串中是否包含汉字 源代码下载地址:http://www.zuidaima.com/share/1550463517428736.htm package com.zuidaima.util; /** *@author www.zuidaima.com **/ public class test { public static void main(String[] args) { String a = "中国China"; for (int i=a.length();

java判断字符串中是否包含字母

1.java代码判断字符串中是否包含字母: 思路:使用正则表达式的来验证 1.1示例代码如下: /** * 该方法主要使用正则表达式来判断字符串中是否包含字母 * @author fenggaopan 2015年7月21日 上午9:49:40 * @param cardNum 待检验的原始卡号 * @return 返回是否包含 */ public boolean judgeContainsStr(String cardNum) { String regex=".*[a-zA-Z]+.*"

判断字符串中是否包含中文

public bool CheckChinese(string str) { bool flag = false; UnicodeEncoding a = new UnicodeEncoding(); byte[] b = a.GetBytes(str); for(int i=0;i<b.Length;i++) { i++; if (b[i] != 0) { flag = true; } else { flag = false; } } return flag; }这段代码为什么能实现判断是否为

PHP判断字符串中是否包含指定字符串,支持中文哦

RT,随手写的 1 /** 2 * 判断字符串中是否包含指定字符串 3 * @var source 源字符串 4 * @var target 要判断的是否包含的字符串 5 * @return bool 6 */ 7 function hasstring($source,$target){ 8 preg_match_all("/$target/sim", $source, $strResult, PREG_PATTERN_ORDER); 9 return !empty($strResul

Node.js之判断字符串中是否包含某个字符串

server.txt内容如下: 阿里云服务器 关于应用场景,就不多说了,字符串是不论是后端开发还是前端开发等,都是要经常打交道了. test.js(node.js代码,只要被本地装了node.js环境,直接可通过node test.js运行看效果): var fs = require("fs"); var result = fs.readFileSync("./server.txt"); console.log("result:"+result)

(算法)判断字符串中是否包含HelloWorld

题目: 给定某字符串,判断该字符串中是否包含HelloWorld,出现HelloWorld不一定要连续,但顺序不变,如“HeByello,ByeWorByeld”就包含“HelloWorld”. 思路: 通过i,j来遍历两个字符串str1,str2(HelloWorld),假设长度分别为m,n: 当i>m或者j>n,则不包含: 当i<m且j==n-1,且str1[i]==str2[j],则包含: 当i<m且j<n,如果str1[i]==str2[j],i++,j++;否则,i

用php的strpos() 函数判断字符串中是否包含某字符串的方法

PHP strpos() 函数 strpos() 函数返回字符串在另一个字符串中第一次出现的位置. 如果没有找到该字符串,则返回 false.语法 strpos(string,find,start) 参数 描述string 必需.规定被搜索的字符串.find 必需.规定要查找的字符.start 可选.规定开始搜索的位置. 注释:该函数对大小写敏感.如需进行对大小写不敏感的搜索,请使用 stripos()函数.编辑本段例子 <?php echo strpos(www.idc-gz.com,"

C#判断字符串中是否包含一个子字符串是可以直接使用Contains()方法

1. 以前判断一个字符串中是否包含另一个子字符串时,习惯使用 IndexOf(); string str = "[email protected]"; if(str.IndexOf("@")>=0){ //any other code } 2. 后来发现,原来C#中还定义了Contains()这样的方法,使用如下: String abc = "[email protected]@"; bool result = abc.Contains(&

java判断字符串中是否含有汉字

原文:http://www.open-open.com/code/view/1426332240717 判断字符串中是否含有汉字: String str = "test中文汉字"; String regEx = "[//u4e00-//u9fa5]"; /** * 判断有没有中文 */ if (str.getBytes().length == str.length()) { System.out.println("无汉字"); } else {

Delphi判断字符串中是否包含汉字,并返回汉字位置

1,函数代码: { 判断字符串是否包含汉字 // judgeStr:要判断的字符串 //posInt:第一个汉字位置 } function TForm2.IsHaveChinese(judgeStr: string; var posInt: integer): boolean; var p: PWideChar; // 要判断的字符 count: integer; // 包含汉字位置 isHave: boolean; // 是否包含汉字返回值 begin isHave := false; //