java分割字符串中的汉字和数字问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java分割字符串中的汉字和数字问题相关的知识,希望对你有一定的参考价值。
如何分割字符串中的汉字和数字?用java语言,请哪位高手指点一下,不胜感激。就是 string a ="字符串123456"分成a1=="字符串",a2=="123456"
可以用正则:import java.util.regex.*;
public class test
public static void main( String[] args )
String s = "字符串123456哈哈441";
Pattern p = Pattern.compile("[\\u4e00-\\u9fa5]+|\\d+");
Matcher m = p.matcher( s );
while ( m.find() )
System.out.println( m.group() );
运行结果:
字符串
123456
哈哈
441 参考技术A 楼上的回答很正确, 也可以用Ascii码,,..如果把s中的123456赋予一个变量s1:try
int s1 = Integer.parse(s);
catch( NumberFormatException ex )
notepad++匹配汉字的正则表达式与Java中的为啥不同?
工作中会经常使用notepad++处理文本;有时需要检索汉字,网上给出的匹配汉字的范围[\u4E00-\u9FFF]在Java中是正常的,但是在notepad++中会把字母、数字、常见符号都匹配进去。百度之后发现[^\x00-\x80]+可以准确找到文本中汉字;想知道两者的差别是什么原因造成的;再就是汉字在不同编码中的取值范围是如何确定的
java是unicode编码的,notepad++是正常的ascii编码,所以正则的写法以及表示的字符范围也是不同的。。。 参考技术A 你说的那个也不对,不信你试试日语,也能匹配要匹配中文
[\x4e00-\x9fa5]+本回答被提问者采纳
以上是关于java分割字符串中的汉字和数字问题的主要内容,如果未能解决你的问题,请参考以下文章