Java正则表达式过滤出字母、数字和中文
编程学习 2021-07-05 10:07www.dzhlxh.cn编程入门
正则表达式在java程序中应用非常广泛,本文给大家介绍java正则表达式过滤字母、数字和中文,本文代码讲解的非常详细,非常具有参考价值,感兴趣的朋友快来看看吧
1、Java中过滤出字母、数字和中文的正则表达式
(1)过滤出字母的正则表达式
[^(A-Za-z)]
(2) 过滤出 数字 的正则表达式
[^(0-9)]
(3) 过滤出 中文 的正则表达式
[^()]
(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正则表达式过滤中文、字母、数字的全部叙述,希望大家喜欢。