首页 > 代码库 > Java正则表达式过滤出字母、数字和中文
Java正则表达式过滤出字母、数字和中文
原文:http://blog.csdn.net/k21325/article/details/54090066
1、Java中过滤出字母、数字和中文的正则表达式
(1)过滤出字母的正则表达式
[html] view plain copy
- [^(A-Za-z)]
(2) 过滤出 数字 的正则表达式
[html] view plain copy
- [^(0-9)]
(3) 过滤出 中文 的正则表达式
[html] view plain copy
- [^(\\u4e00-\\u9fa5)]
(4) 过滤出字母、数字和中文的正则表达式
[html] view plain copy
- [^(a-zA-Z0-9\\u4e00-\\u9fa5)]
2、实例源码
[java] view plain copy
- **
- * @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正则表达式过滤汉字
[java] view plain copy
- 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);
[java] view plain copy
- 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正则表达式过滤出字母、数字和中文
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。