本篇内容主要讲解“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怎么用正则表达式过滤出字母、数字和中文”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。