2017-06-07 42 views
0

我想子串字符串,但不知道如何。子串一筆錢

我想是這樣的:

10 
10 
* 

(這取決於用戶輸入)

我現在有作爲輸出是這樣的:

10 
10 

所以我錯過了*,我用測試字符串測試它,它看起來像這樣:

String test= "10;*;10"; 
System.out.println(test.substring(test.lastIndexOf(";") + 1)); 
System.out.println(test.substring(0, test.indexOf(";"))); 

如何解決String測試獲取多個子字符串並獲取輸出10 - * - 10?

+0

任何原因不使用[String.split](https://docs.oracle.com/javase/7/docs/api/java/lang/String.html#split(java.lang.String中))? 'test.split(「;」)' – 0x5453

+0

我很確定你只是缺少佔中間* 嘗試:'System.out.println(test.substring(test.indexOf(「;」), test.lastIndexOf(「;」)));' –

回答

3

您可以使用字符串類中的split函數。

String test = "10;*;10"; 
String splits[] = test.split(";"); 

for (String split : splits) { 
    System.out.println(split); 
} 
+0

請注意,順序是不同的。 –

+0

我要麼'清單 splits = new ArrayList <>(test.split(「;」))'只是'因爲數組相當垃圾。顯然,在這種情況下不需要。或者,替換臨時變量並在'java中更方便地使用'for(String token:test.split(「;」)){' – Michael

+2

'String [] splits = ...'另一種方式是用於C風格用法。只是一個評論。 –