Java正则表达式过滤出字母、数字和中文
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
*@VersionV1.2.3
*/
packagecom.you.dao;
/**
*@类名:FilterStr
*@描述:正则表达式过滤数字、字母和中文
*@Author:游海东
*@date:2014年3月12日下午7:18:20
*/
publicclassFilterStr
{
/**
*
*@Title:filterNumber
*@Type:FilterStr
*@date:2014年3月12日下午7:23:03
*@Description:过滤出数字
*@paramstr
*@return
*/
publicstaticStringfilterNumber(Stringnumber)
{
number=number.replaceAll("[^(0-9)]","");
returnnumber;
}
/**
*
*@Title:filterAlphabet
*@Type:FilterStr
*@date:2014年3月12日下午7:28:54
*@Description:过滤出字母
*@paramalph
*@return
*/
publicstaticStringfilterAlphabet(Stringalph)
{
alph=alph.replaceAll("[^(A-Za-z)]","");
returnalph;
}
/**
*
*@Title:filterChinese
*@Type:FilterStr
*@date:2014年3月12日下午9:12:37
*@Description:过滤出中文
*@paramchin
*@return
*/
publicstaticStringfilterChinese(Stringchin)
{
chin=chin.replaceAll("[^(\\u4e00-\\u9fa5)]","");
returnchin;
}
/**
*
*@Title:filter
*@Type:FilterStr
*@date:2014年3月12日下午9:17:22
*@Description:过滤出字母、数字和中文
*@paramcharacter
*@return
*/
publicstaticStringfilter(Stringcharacter)
{
character=character.replaceAll("[^(a-zA-Z0-9\\u4e00-\\u9fa5)]","");
returncharacter;
}
/**
*@Title:main
*@Type:FilterStr
*@date:2014年3月12日下午7:18:22
*@Description:
*@paramargs
*/
publicstaticvoidmain(String[]args)
{
/**
*声明字符串you
*/
Stringyou="^&^&^you123$%$%你好";
/**
*调用过滤出数字的方法
*/
you=filterNumber(you);
/**
*打印结果
*/
System.out.println("过滤出数字:"+you);
/**
*声明字符串hai
*/
Stringhai="¥%……4556ahihdjsadhj$%$%你好吗wewewe";
/**
*调用过滤出字母的方法
*/
hai=filterAlphabet(hai);
/**
*打印结果
*/
System.out.println("过滤出字母:"+hai);
/**
*声明字符串dong
*/
Stringdong="$%$%$张三34584yuojk李四@#¥#%%¥……%&";
/**
*调用过滤出中文的方法
*/
dong=filterChinese(dong);
/**
*打印结果
*/
System.out.println("过滤出中文:"+dong);
/**
*声明字符串str
*/
Stringstr="$%$%$张三34584yuojk李四@#¥#%%¥……%&";
/**
*调用过滤出字母、数字和中文的方法
*/
str=filter(str);
/**
*打印结果
*/
System.out.println("过滤出字母、数字和中文:"+str);
}
}
3、实例运行结果
过滤出数字:123
过滤出字母:ahihdjsadhjwewewe
过滤出中文:张三李四
过滤出字母、数字和中文:张三34584yuojk李四
ps:Java正则表达式过滤汉字
Stringstr="hello你好吗,我很好thankyou";
Stringreg="[\u2E80-\u9FFF]";
Patternpat=Pattern.compile(reg);
Matchermat=pat.matcher(str);
StringrepickStr=mat.replaceAll("");
System.out.println("过滤中文后:"+repickStr);
Demo:
importjava.util.regex.Matcher;
importjava.util.regex.Pattern;
publicclassT{
/**
*过滤字母
*@paramalphabet
*@return
*/
publicstaticStringfilterAlphabet(Stringalphabet){
returnalphabet.replaceAll("[A-Za-z]","");
}
/**
*过滤数字
*@paramdigital
*@return
*/
publicstaticStringfilterDigital(Stringdigital){
returndigital.replaceAll("[0-9]","");
}
/**
*过滤汉字
*@paramchin
*@return
*/
publicstaticStringfilterChinese(Stringchin){
returnchin.replaceAll("[\\u4e00-\\u9fa5]","");
}
/**
*过滤字母、数字、汉字
*@paramcharacter
*@return
*/
publicstaticStringfilterAll(Stringcharacter){
returncharacter.replaceAll("[a-zA-Z0-9\\u4e00-\\u9fa5]","");
}
/**
*@paramargs
*/
publicstaticvoidmain(String[]args){
//TODOAuto-generatedmethodstub
Stringstr="hello你好吗,我很好thankyou";
Stringreg="[\u2E80-\u9FFF]";
Patternpat=Pattern.compile(reg);
Matchermat=pat.matcher(str);
StringrepickStr=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正则表达式过滤中文、字母、数字的全部叙述,希望大家喜欢。