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

本篇内容主要讲解“Java怎么用正则表达式过滤出字母、数字和中文”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java怎么用正则表达式过滤出字母、数字和中文”吧!

成都创新互联专业网站设计、做网站,集网站策划、网站设计、网站制作于一体,网站seo、网站优化、网站营销、软文发稿等专业人才根据搜索规律编程设计,让网站在运行后,在搜索中有好的表现,专业设计制作为您带来效益的网站!让网站建设为您创造效益。

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怎么用正则表达式过滤出字母、数字和中文”有了更深的了解,不妨来实际操作一番吧!这里是创新互联网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!


分享名称:Java怎么用正则表达式过滤出字母、数字和中文
路径分享:http://myzitong.com/article/giooph.html