问题
使用split方法进行字符串的拆分,具体要求如下所示:
1)使用空格对字符串"java cpp php c# objective-c"进行拆分。
2)使用+、-以及=对字符串"100+200-150=150"进行拆分。
方案
在Java API中的String类提供了split方法,实现使用正则表达式对字符串进行拆分的方法,split方法的声明如下所示:
String[] split(String regex)
以上方法表示以regex所表示的字符串为分隔符,将字符串拆分成字符串数组,其中,参数regex为正则表达式。
步骤
实现此案例需要按照如下步骤进行。
步骤一:添加测试方法
在TestRegEx中添加测试方法testSplit,代码如下所示:
package day02;
import org.junit.Test;
import java.util.Arrays;
public class TestRegEx{
/**
*使用split方法拆分字符串
*
*/
@Test
public void testSplit(){
}
}
步骤二:使用split方法
首先,使用空格对字符串"java cpp php c# objective-c"进行分割,在正则表达式中,使用"\\s"来表示一个空白字符。
然后,使用+、-以及=对字符串"100+200-150=150"进行拆分,在正则表达式中,使用"[\\+\\-=]"来表示+、-以及=。代码如下所示:
package day02;
import org.junit.Test;
import java.util.Arrays;
public class TestRegEx{
/**
*使用split方法拆分字符串
*
*/
@Test
public void testSplit(){
//按空格拆分
String str="java cpp php c# objective-c";
String[] strArr=str.split("\\s");
System.out.println(Arrays.toString(strArr));
//按+、-、=符号拆分
String line="100+200-150=150";
strArr=line.split("[\\+\\-=]");
System.out.println(Arrays.toString(strArr));
}
}
步骤三:运行
运行方法testSplit,控制台输出结果如下:
[java,cpp,php,c#,objective-c]
[100,200,150,150]
从输出结果可以看出已经将字符串"java cpp php c# objective-c"和字符串"100+200-150=150"按照要求的方式拆分为数组中元素。