我有一个像这样的字符串:

String unparsed = "[thing.1][thin2g]"


我想把它变成

"thing.1"
"thin2g"


试图用正则表达式表达了一段时间,但是什么也没有。有什么想法吗?谢谢!

编辑:

尝试过:

String unparsed = "[thing.1][thin2g]"
String substring = unparsed.substring(1,unparsed.length - 1)
substring.replace("][","`")
String[] split = substring.split('`')
for(int i=0;i<split.length;i++)
{
   System.out.println(split[i])
}


但这似乎有点沉重,正在寻找更优雅的东西

最佳答案

String unparsed = "[thing.1][thin2g]";
Pattern pattern = Pattern.compile("\\[(.*?)\\]");
Matcher matcher = pattern.matcher(unparsed);
while(matcher.find()){
    System.out.println(matcher.group(1));
}


我的正则表达式不好。但是它确实将字符串解析为您想要的内容。

09-11 02:27