Java正则表达式过滤出字母、数字和中文

所属分类: 网络编程 / 正则表达式 阅读数: 360
收藏 0 赞 0 分享

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);
Demo:
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正则表达式过滤中文、字母、数字的全部叙述,希望大家喜欢。

更多精彩内容其他人还在看

正则表达式匹配 非XXX的行

问题:如何匹配"非:.+123.123.123.10.+ " 行
收藏 0 赞 0 分享

正则表达式不包含属性

一个标签里不包含某个属性 的 正则表达式的写法
收藏 0 赞 0 分享

ASP正则函数替换分页后的参数

在分页系统里面用到的把page后面得东西都给丢掉
收藏 0 赞 0 分享

asp match正则函数使用Matchs实例

asp matchs函数提供了对正则表达式匹配的只读属性的访问。一直都用这个函数,没想到本站竟然没有这类文章,汗一个,最近我会多加一些这样的文章
收藏 0 赞 0 分享

asp 图片正则 替换,替换前检查图片是不是本地地址的方法

这个图片正则先检查图片的地址,不是本地的则用本地的asp突破盗链,方便使用,注意是答chinaz的朋友问的一个问题
收藏 0 赞 0 分享

java正则表达式彻底研究

从J2SE1.4起Java增加了对正则表达式的支持就是java.util.regex包
收藏 0 赞 0 分享

正则表达式口诀 正则表达式学习工具

正则表达式口诀 + 常用的正则表达式 + 正则表达式学习工具+正则处理工具 正则是每个程序员绕不开的堡垒,只有把它攻下来。我觉得正则之所以难,第一难是需要记忆,第二难是要求具备抽象逻辑思维。
收藏 0 赞 0 分享

比较实用的正则表达式学习笔记

最近在学习正则,一些比较有用的东西怕忘记,记下来,比较乱,想一条记录一条
收藏 0 赞 0 分享

asp只采集网站可见文本的正则

它可以过虑Js 可以过滤 CSS 过滤HTML标识,只采集页面的可见文本。
收藏 0 赞 0 分享

asp.net常用正则表达式

比较常用的多种语言支持的正则整理收集
收藏 0 赞 0 分享
查看更多