gpt4 book ai didi

java - 使用java流获取字符串占位符列表

转载 作者:太空宇宙 更新时间:2023-11-04 09:29:00 24 4
gpt4 key购买 nike

我有一个带有多个占位符的字符串,有什么办法可以借助java流一次性收集所有占位符吗?

输入:

<Html>
<Table>
<TR><TD>||BuySell||</TD></TR>
<TR><TD>||ExchangeName||</TD></TR>
</Table>
</Html>

输出:

List<String> placeholders = [BuySell,ExchangeName]

最佳答案

这可以使用辅助函数来完成。

    BiFunction<Matcher, Function<Matcher, Object>, Collection<?>> placeHolderExtractor = (mch, extracter) -> {
List<Object> list = new ArrayList<>();
while(mch.find()) {
list.add(extracter.apply(mch));
}

return list;
};

String htmlStr = "<Html> <Table> <TR><TD>||BuySell||</TD></TR> <TR><TD>||ExchangeName||</TD></TR> </Table></Html>";
String regex = "(\\|\\|)([\\w]+)\\1";

Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(htmlStr);

List<String> placeHolderList = placeHolderExtractor.apply(matcher, macher -> macher.group(2))
.stream()
.map(String::valueOf)
.collect(Collectors.toList());

关于java - 使用java流获取字符串占位符列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57343665/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com