Java正则表达式过滤出字母数字和中文
Posted 起个名字好难
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java正则表达式过滤出字母数字和中文相关的知识,希望对你有一定的参考价值。
原文:http://blog.csdn.net/k21325/article/details/54090066
1、Java中过滤出字母、数字和中文的正则表达式
(1)过滤出字母的正则表达式
- [^(A-Za-z)]
(2) 过滤出 数字 的正则表达式
- [^(0-9)]
(3) 过滤出 中文 的正则表达式
- [^(\\u4e00-\\u9fa5)]
(4) 过滤出字母、数字和中文的正则表达式
- [^(a-zA-Z0-9\\u4e00-\\u9fa5)]
2、实例源码
- **
- * @Title:FilterStr.java
- * @Package:com.you.dao
- * @Description:Java中过滤数字、字母和中文
- * @Author: 游海东
- * @date: 2014年3月12日 下午7:18:20
- * @Version V1.2.3
- */
- package com.you.dao;
- /**
- * @类名:FilterStr
- * @描述:正则表达式过滤数字、字母和中文
- * @Author:游海东
- * @date: 2014年3月12日 下午7:18:20
- */
- public class FilterStr
- {
- /**
- *
- * @Title : filterNumber
- * @Type : FilterStr
- * @date : 2014年3月12日 下午7:23:03
- * @Description : 过滤出数字
- * @param str
- * @return
- */
- public static String filterNumber(String number)
- {
- number = number.replaceAll("[^(0-9)]", "");
- return number;
- }
- /**
- *
- * @Title : filterAlphabet
- * @Type : FilterStr
- * @date : 2014年3月12日 下午7:28:54
- * @Description : 过滤出字母
- * @param alph
- * @return
- */
- public static String filterAlphabet(String alph)
- {
- alph = alph.replaceAll("[^(A-Za-z)]", "");
- return alph;
- }
- /**
- *
- * @Title : filterChinese
- * @Type : FilterStr
- * @date : 2014年3月12日 下午9:12:37
- * @Description : 过滤出中文
- * @param chin
- * @return
- */
- public static String filterChinese(String chin)
- {
- chin = chin.replaceAll("[^(\\u4e00-\\u9fa5)]", "");
- return chin;
- }
- /**
- *
- * @Title : filter
- * @Type : FilterStr
- * @date : 2014年3月12日 下午9:17:22
- * @Description : 过滤出字母、数字和中文
- * @param character
- * @return
- */
- public static String filter(String character)
- {
- character = character.replaceAll("[^(a-zA-Z0-9\\u4e00-\\u9fa5)]", "");
- return character;
- }
- /**
- * @Title : main
- * @Type : FilterStr
- * @date : 2014年3月12日 下午7:18:22
- * @Description :
- * @param args
- */
- public static void main(String[] args)
- {
- /**
- * 声明字符串you
- */
- String you = "^&^&^you123$%$%你好";
- /**
- * 调用过滤出数字的方法
- */
- you = filterNumber(you);
- /**
- * 打印结果
- */
- System.out.println("过滤出数字:" + you);
- /**
- * 声明字符串hai
- */
- String hai = "¥%……4556ahihdjsadhj$%$%你好吗wewewe";
- /**
- * 调用过滤出字母的方法
- */
- hai = filterAlphabet(hai);
- /**
- * 打印结果
- */
- System.out.println("过滤出字母:" + hai);
- /**
- * 声明字符串dong
- */
- String dong = "$%$%$张三34584yuojk李四@#¥#%%¥……%&";
- /**
- * 调用过滤出中文的方法
- */
- dong = filterChinese(dong);
- /**
- * 打印结果
- */
- System.out.println("过滤出中文:" + dong);
- /**
- * 声明字符串str
- */
- String str = "$%$%$张三34584yuojk李四@#¥#%%¥……%&";
- /**
- * 调用过滤出字母、数字和中文的方法
- */
- str = filter(str);
- /**
- * 打印结果
- */
- System.out.println("过滤出字母、数字和中文:" + str);
- }
- }
3、实例运行结果
过滤出数字:123
过滤出字母:ahihdjsadhjwewewe
过滤出中文:张三李四
过滤出字母、数字和中文:张三34584yuojk李四
ps:Java正则表达式过滤汉字
- String str = "hello你好吗,我很好 thank you";
- String reg = "[\u2E80-\u9FFF]";
- Pattern pat = Pattern.compile(reg);
- Matcher mat = pat.matcher(str);
- String repickStr = mat.replaceAll("");
- System.out.println("过滤中文后: "+repickStr);
- import java.util.regex.Matcher;
- import java.util.regex.Pattern;
- public class T {
- /**
- * 过滤字母
- * @param alphabet
- * @return
- */
- public static String filterAlphabet(String alphabet){
- return alphabet.replaceAll("[A-Za-z]", "");
- }
- /**
- * 过滤数字
- * @param digital
- * @return
- */
- public static String filterDigital(String digital){
- return digital.replaceAll("[0-9]", "");
- }
- /**
- * 过滤汉字
- * @param chin
- * @return
- */
- public static String filterChinese(String chin){
- return chin.replaceAll("[\\u4e00-\\u9fa5]", "");
- }
- /**
- * 过滤 字母、数字、汉字
- * @param character
- * @return
- */
- public static String filterAll(String character){
- return character.replaceAll("[a-zA-Z0-9\\u4e00-\\u9fa5]", "");
- }
- /**
- * @param args
- */
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- String str = "hello你好吗,我很好 thank you";
- String reg = "[\u2E80-\u9FFF]";
- Pattern pat = Pattern.compile(reg);
- Matcher mat = pat.matcher(str);
- String repickStr = mat.replaceAll("");
- System.out.println("过滤中文后: "+repickStr);
- System.out.println("-----------------");
- System.out.println(filterAlphabet("123abc你好"));
- System.out.println(filterDigital("123abc你好"));
- System.out.println(filterChinese("123abc你好"));
- System.out.println(filterAll("123abc你好"));
- }
- }
以上内容是关于java正则表达式过滤中文、字母、数字的全部叙述,希望大家喜欢。
以上是关于Java正则表达式过滤出字母数字和中文的主要内容,如果未能解决你的问题,请参考以下文章
java正则表达式 过滤特殊字符 只允许中文、字母和数字, 该怎么写?急。。。
java中,正则表达式,如何过滤除数字和字母之外的其它字符??
Java用正则表达式 过滤特殊字符,只允许中文、字母或数字,该怎么写?急。。。。