千家信息网

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

发表于:2024-12-05 作者:千家信息网编辑
千家信息网最后更新 2024年12月05日,本篇内容主要讲解"Java怎么用正则表达式过滤出字母、数字和中文",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Java怎么用正则表达式过滤出字母、数字和中
千家信息网最后更新 2024年12月05日Java怎么用正则表达式过滤出字母、数字和中文

本篇内容主要讲解"Java怎么用正则表达式过滤出字母、数字和中文",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"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 * @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怎么用正则表达式过滤出字母、数字和中文"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

0