2015-03-13 235 views
-3

輸入就像下面如何分割字符串成間隔

 
(3,7),(4,8),(1,2),(9,16),(13,18),(22,28) 

我們怎麼可以把這個成間隔像

 
(3,7) 
(4,8) 
(1,2) 
(9,16) 
(13,18) 
(22,28) 
+0

你會怎麼做呢? – ControlAltDel 2015-03-13 17:06:40

+1

[你有什麼試過](http://mattgemmell.com/what-have-you-tried/)? – RealSkeptic 2015-03-13 17:08:22

回答

3

我假設你已經試過split,但有問題,因爲逗號也在括號內使用。一個快速的解決方法是改變你的括號之間分割上的分隔符,因爲這是很容易的,然後把它分割:

String input = "(3,7),(4,8),(1,2),(9,16),(13,18),(22,28)"; 
input = input.replace("),(", ")@("); 
String[] split = input.split("@"); 

(您也可以使用正則表達式,但它可能是多一點難以理解它是如何工作的。)

+0

謝謝mk。你能幫我們如何排序這個字符串數組 – user3371172 2015-03-15 13:11:45

+0

@ user3371172這裏是我通過搜索'sort string array'找到的一個:'Arrays.sort(split);' – 2015-03-15 17:01:13

0

String類有一些很好的功能,爲此目的。例如:

  1. 使用split(String regex)regex = "\),\("。返回String[]
  2. 使用replaceAll(String regex, String replacement)regex = "\),\("replacement = "\)\\n\("

正則表達式非常強大,任何程序員都應該知道他們的基礎知識。

0

你也可以這樣做:

String result = input.replaceAll(")," , ")\n"); 

System.out.println(result); 

應該給你寫的結果。