java String一个字符串多次截取两个字符串之间的值

来源:互联网 发布:信盈达 知乎 编辑:程序博客网 时间:2024/05/29 18:55

转自:http://bbs.csdn.net/topics/390367880 的问题。
如有字符串如下,并取出{ }之间的字符串。

String str="adfwe{abc}defg{def}gju{ght}dfdf";

输出效果如下:
这里写图片描述
像这种就要使用到正则了。

package com.zhenqi.test;import java.util.List;import java.util.regex.Matcher;import java.util.regex.Pattern;/** * Created by wuming on 2017/9/13. */public class OffestTest {    public static List<String> match(String s) {        List<String> results = new ArrayList<String>();        Pattern p = Pattern.compile("\\{([\\w]*)\\}");        Matcher m = p.matcher(s);        while (m.find()) {            results.add(m.group(1));        }        return results;    }    public static void main(String[] args){        String str="adfwe{abc}defg{def}gju{ght}dfdf";        List<String> strs=match(str);        for(String str2 : strs){            System.out.println(str2);        }    }}