字符串

检出字符串中的中文 java版

星期日, 十二月 5th, 2010 | JAVA-and-J2EE | 没有评论

话不多说了,就是检出字符串中的中文而已,直接上代码了,没有什么难的了!

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
package com.liyz.test.str;
public class TestChinese {
	/**
	 * @param args
	 */
	public static void main(String[] args) {
		String str="中文国际 id chinese ? test  power by I5A6!!";
		String s=getChineseStr(str);
		System.out.println(s);
		System.out.println(s.length());
	}
 
	/**
	 * 检出其中的中文部分
	 * @param str
	 * @return
	 */
	public static String getChineseStr(String str){
		StringBuffer sb=new StringBuffer();
		String tempStr;
		for(int i=0;i<str.length();i++){
			tempStr=String.valueOf(str.charAt(i));
			if(tempStr.getBytes().length==2){
				sb.append(tempStr);
			}
		}
		return sb.toString();
	}
}

Tags: , ,

判断字符串是不是数字–java 和js版

星期二, 九月 16th, 2008 | JAVA-and-J2EE | 2 Comments

今天有人问到,判断字符串是不是数字有什么方法,第一反应就是强制转换成Integer类型,若抛出异常就不是数字;
始终感觉不爽的方法;转念想可以用Pattern的方法,用正则表达式;问题解决了,不过还是想看看别人都是怎么解决的,网上查了下,还看了个用java类库自带的方法也还不错,不过要遍历;感觉还是用正则表达式的好;
把代码贴出来,下次用就直接复制了,呵呵

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
package com.liyz.num.test;
 
import java.util.regex.Matcher;
import java.util.regex.Pattern;
 
public class TestNum {
	public static void main(String[] args) {
 
		boolean num=isNumeric("gg");
		System.out.println(num);
		boolean num2=isNum("25p");
		System.out.println(num2);
 
	}
 
	//jdk method java类库自带的方法
	public static boolean  isNum(String msg){
		char[] msgchar=msg.toCharArray();
		for(char mc:msgchar){
			if(!Character.isDigit(mc)){
				return false;
			}
		}
		return true;
		}
	// base on pattern 用正则表达式
	public static boolean isNumeric(String str)
	{
	Pattern pattern = Pattern.compile("[0-9]*");
	Matcher isNum = pattern.matcher(str);
	if( !isNum.matches() )
	{
	return false;
	}
	return true;
	}
}

——————————————————————————
差点忘记了还有个js版本,原理差不多,感觉更简单了,有现成的函数调用
貌似code标签不是很好用,只好换下了加了个–在script前

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<--script type="text/javascript">
    //系统函数的调用,感觉最简单
    if(isNaN("25")){
      alert("请输入数字");
    }
    //基于正则表达式的自己写的函数
    function isdigit(s)
   {
     var r,re;
           re = /\d*/;
           r = s.match(re);
           return (r==s)?true:false;
    }
     var s1 = "123";
     var s2 = "45a";
     var s3 = "bcd";
     var s4 = "e6"
   alert("s1="+isdigit(s1)+"s2="+isdigit(s2)+"s3="+isdigit(s3)+"s4="+isdigit(s4));
 
    <--/script>

Tags: , ,

Search

文章分类

Links

Meta