温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

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

发布时间:2021-09-01 17:07:43 来源:亿速云 阅读:203 作者:chen 栏目:互联网科技

本篇内容主要讲解“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怎么用正则表达式过滤出字母、数字和中文”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI