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);
|
// }
|
}
|