問題
使用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"按照要求的方式拆分爲數組中元素。