Java将字符串分为三部分

Java将字符串分为三部分,java,string,string-split,Java,String,String Split,我需要把绳子分成三部分。 例如: String s="a [Title: title] [Content: content]"; 结果应该是: s[0]="a"; s[1]="Title: title"; s[2]="Content: content"; 稍后,我想将Title:Title和Content:Content作为字符串键值对放在地图中。您可以这样做 String s = "a [Title: title] [Content: content]"; String parts[]

我需要把绳子分成三部分。 例如:

String s="a [Title: title] [Content: content]";
结果应该是:

s[0]="a"; 
s[1]="Title: title"; 
s[2]="Content: content";

稍后,我想将Title:Title和Content:Content作为字符串键值对放在地图中。

您可以这样做

String s = "a [Title: title] [Content: content]";
String parts[] = s.split("\\]?\\s*\\[|\\]");
System.out.println(Arrays.toString(parts));

String s = "a [Title: title] [Content: content]";
String parts[] = s.split("\\s(?![^\\[\\]]*\\])");  # Splits the input according to spaces which are not present inside the square brackets
ArrayList<String> l = new ArrayList<String>();
for (String i: parts)                              # iterate over the array list elements.
{
    l.add(i.replaceAll("[\\[\\]]", ""));           # replace all [, ] chars from the list elements and append it to the declared list l
}
System.out.println(l);

这里的解析很复杂。如果可以更改字符串的格式,使其如下所示:
a;标题:标题;内容:内容
,那么这就容易多了。否则,我建议找到这个家伙:
[a, Title: title, Content: content]