java分割字符串

一、用正则表达式分割字符串:

1、public String[] split(String regex)

字符串对象调用该方法时,使用参数指定的正则表达式regex作为分割标记分解出其中的单词,将单词存放在字符串数组中。

例如:

对于字符串:

s = "1ab c 123 def 45 6";

如果分解出全部数字字符组成的单词,必须用非数字字符串作为分割标记,因此使用正则表达式:

regex = "\\D+";

代码如下:

String s = "1ab c 123 def 45 6";
String regex = "\\D+";
String[] words = s.split(regex);
System.out.println(Arrays.toString(words));

结果为:



2、需要注意一个问题,如果将上面的字符串开头的数字1去掉,即

s = "ab c 123 def 45 6";

则输出结果时会有一个空串,即:


二、StringTokenizer类(字符串分析器)分解字符串

1、该类的对象不使用正则表达式做分割标记,有如下两个构造方法:

1)StringTokenizer(String s)

为字符串s构造一个分析器。使用默认的分割标记,即空格符(若干个空格当作一个空格)、换行符、回车符、Tab符等。

2)StringTokenizer(String s, String delim)

为字符串s构造一个分析器。使用参数dilim中的字符的任意组合作为分割标记。

需要注意,分割标记的任意组合仍是分割标记。

2、需要使用的方法

1)nextToken()方法

使用该方法逐个获取字符串中的单词,每当调用该方法时,都将在字符串中获得下一个单词,且分析器中计数的变量值自动减一,该计数变量初始值等于字符串单词数目。

2)hasMoreTokens()方法

通常用while循环组个获取单词,只要计数变量大于0,该方法就返回true,否则返回false。

3)countTokens()方法

得到技术变量的值。

例如:

StringTokenizer st = new StringTokenizer("we , love , java", " ,"); //使用逗号和空格为分割标记
System.out.println(st.countTokens());
while(st.hasMoreTokens()) {
	System.out.println(st.nextToken());
}

结果:








评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值