源码网,源码论坛,源码之家,商业源码,游戏源码下载,discuz插件,棋牌源码下载,精品源码论坛

 找回密码
 立即注册
查看: 262|回复: 11

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

[复制链接]

7万

主题

861

回帖

32万

积分

论坛元老

Rank: 8Rank: 8

积分
329525
发表于 2018-12-25 19:30:08 | 显示全部楼层 |阅读模式
正则表达式在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正则表达式过滤中文、字母、数字的全部叙述,希望大家喜欢。

回复

使用道具 举报

1

主题

2万

回帖

319

积分

中级会员

Rank: 3Rank: 3

积分
319
发表于 2023-11-19 02:34:52 | 显示全部楼层
看看看看看看看看看看看看看看看看看看看看看看看看看看看
回复 支持 反对

使用道具 举报

0

主题

1万

回帖

0

积分

中级会员

Rank: 3Rank: 3

积分
0
发表于 2024-3-12 22:46:22 | 显示全部楼层
啦啦啦啦啦啦哈哈哈
回复 支持 反对

使用道具 举报

0

主题

2万

回帖

0

积分

中级会员

Rank: 3Rank: 3

积分
0
发表于 2024-7-11 17:32:13 | 显示全部楼层
天天源码论坛
回复 支持 反对

使用道具 举报

7

主题

2万

回帖

288

积分

中级会员

Rank: 3Rank: 3

积分
288
发表于 2024-7-30 15:47:34 | 显示全部楼层
建军节建军节建军节建军节
回复 支持 反对

使用道具 举报

1

主题

2万

回帖

176

积分

注册会员

Rank: 2

积分
176
发表于 2024-8-10 02:24:07 | 显示全部楼层
很不错的源码论坛
回复 支持 反对

使用道具 举报

0

主题

2万

回帖

124

积分

注册会员

Rank: 2

积分
124
发表于 2024-8-10 05:18:13 | 显示全部楼层
天天源码论坛
回复 支持 反对

使用道具 举报

16

主题

2万

回帖

376

积分

中级会员

Rank: 3Rank: 3

积分
376
发表于 2024-9-14 09:35:25 | 显示全部楼层
还有什么好东西没
回复 支持 反对

使用道具 举报

0

主题

1万

回帖

68

积分

注册会员

Rank: 2

积分
68
发表于 2024-9-15 20:43:43 | 显示全部楼层
啊,数码撒飒飒飒飒
回复 支持 反对

使用道具 举报

4

主题

2万

回帖

316

积分

中级会员

Rank: 3Rank: 3

积分
316
发表于 2024-10-18 05:33:37 | 显示全部楼层
下载来瞧瞧
回复 支持 反对

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

手机版|小黑屋|网站地图|源码论坛 ( 海外版 )

GMT+8, 2024-11-23 18:47 , Processed in 0.125491 second(s), 26 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表