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

前端技术 2023/09/04 PHP

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正则表达式过滤中文、字母、数字的全部叙述,希望大家喜欢。

本文地址:https://www.stayed.cn/item/9783

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。