2016-02-28 163 views
-2

我有一个字符串出来,像这样:1. [Aagaard,Lindsay] [SeniorPolicyAdvisor] [TREASURYBOARDSECRETARIAT] [DEPUTYPREMIERANDPRESIDENTOFTHETREASURYBOARD,Toronto] [416-327-0948] [[email protected]。 [Aalto,Margaret] [ProbationOfficer] [CHILDRENANDYOUTHSERVICES] [THUNDERBAY,ThunderBay] [807-475-1310] [[email protected]]用方括号分割字符串

我想将其拆分为像这样的数组列表:

1.

AAGAARD,林赛

SeniorPolicyAdvisor

有什么建议吗?

+4

有字符串和字符串的JavaDoc的读,看看有没有什么可以帮助你 – Gavin

+0

是1. 2.应该被捕获的呢? –

回答

0

简单:

String[] list = str.split("\\["); 

for(int i = 0 ; i < list.length ; i++) { 
    list[i] = list[i].replace("\\]", ""); 
} 
+0

为什么不在'\]上分割?\ ['? –

+0

它在分割时引发异常:java.util.regex.PatternSyntaxException:索引0附近的未关闭字符类@Maljam – kknaguib

+2

@kknaguib然后转义它:'str.split(“\\ [”)'。 –

1

我读的JavaDoc和使用模式,并匹配器,像这样:

Pattern p = Pattern.compile("\\[(.*?)\\]"); 
Matcher m = p.matcher(tableContent); 

while(m.find()) { 
    System.out.println(m.group(1)); 
} 
0

首先删除第一个和最后一个括号,然后通过拆分“] [”:

String arr = "[Aalto,Margaret][ProbationOfficer][CHILDRENANDYOUTHSERVICES]"; 
String[] items = arr.substring(1, arr.length() - 1).split("][");