zhongrj
2023-06-01 5d75e9dfde8350bf7ef49c3d6f07e0fd780e9e66
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
package cn.gistack.sm.notice.util;
 
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
 
/**
 * 格式化转换工具
 * @author zhongrj
 * @date 2023-05-31
 */
public class FormatUtil {
 
    /**
     * 取出{}中的内容
     * @param content
     * @return
     */
    public static String composeMessage(String content){
        // 正则 ,匹配 {}及内所有内容
        String regex = "\\{.+?\\}";
        Pattern pattern = Pattern.compile(regex);
        Matcher matcher = pattern.matcher(content);
        List<String> list = new ArrayList<>();
        list.add("手机号码");
        while (matcher.find()) {
            // 键名
            String key = matcher.group();
            // 去除首尾大括号
            String title = key.substring(1,key.length()-1).split(",")[0];
            // 放入集合
            list.add(title);
        }
        // 转换为以逗号分隔的字符串
        return  String.join(",",list);
    }
 
 
 
//    public static void main(String[] args) {
//        String data = "黄色预警:{日期,2}日{小时,2}时{分钟,2}分,{乡镇,10}乡镇{村,10}村{水库名称,25}水位{水库水位值,6}米过去一小时陡降{水位降值,6}米。过去24小时坝前点雨量{雨量值,6}毫米。请巡查责任人{姓名,4}做好巡查值守,发现险情及时上报;请技术责任人{姓名,4}密切关注。如为数据误报,请及时联系市县水利部门人员{姓名联系电话,16}(电话号码)。";
//        String message = composeMessage(data);
//        System.out.println("message = " + message);
//
//        String s = "黄色预警:{日期,2}{小时,2}{分钟,2}分数据误报,";
//        String s1 = s.replaceAll("\\{.+?\\}", "%s");
//        System.out.println(s1);
//
//        String s2 = "1,2,3";
//
//
//        String format = String.format(s1, Arrays.asList(s2.split(",")));
//        System.out.println("format = " + format);
//    }
}