首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

正则妙用,找到字符串的的数字、中文、字母

2012-10-07 
正则妙用,找出字符串的的数字、中文、字母public static void main(String[] args) throws Exception{String

正则妙用,找出字符串的的数字、中文、字母

public static void main(String[] args) throws Exception{String str = " a a a 3 3 3 中 国 人";String[] zh = Pattern.compile("[\\u4e00-\\u9fa5]").split(str,-1);String[] num = Pattern.compile("[\\d]").split(str,-1);String[] eng = Pattern.compile("[a-zA-Z]").split(str,-1);System.out.println("中文字符:" + (zh.length - 1));System.out.println("数字:" + (num.length - 1));System.out.println("英文字符:" + (eng.length - 1));}



思路:将字符串按查找类型拆分获得数组,计算数组长度。

注意:public String[] split(CharSequence input, int limit)(其中 limit 参数默认为 0)JDK API 1.6 的解释如下:
围绕此模式的匹配拆分给定输入序列。
此方法返回的数组包含输入序列的子字符串,由匹配此模式的另一子序列或输入序列的结尾终止。数组中子字符串的顺序与其在输入中出现的顺序相同。如果此模式与输入的任何子序列都不匹配,那么得到的数组仅包含一个元素,即字符串形式的输入序列。
limit 参数控制应用模式的次数,从而影响结果数组的长度。如果限制 n 大于零,那么模式至多应用 n> - 1 次,数组的长度不大于 n,并且数组的最后条目将包含除最后的匹配定界符之外的所有输入。如果 n 非正,那么将应用模式的次数不受限制,并且数组可以为任意长度。如果 n 为零,那么应用模式的次数不受限制,数组可以为任意长度,并且将丢弃尾部空字符串。

热点排行