gpt4 book ai didi

java - 用动态值替换字符串中标签的动态数量 - Java

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:11:24 24 4
gpt4 key购买 nike

我已经通过这个网站和谷歌进行了搜索,但我找不到针对我所面临的这个问题的具体解决方案。

语言:Java

我有一个字符串,假设:

String message = "I would like to have <variable>KG of rice and <variable>Litre of Milk. I only have $<variable>, is this sufficient?"

现在,用户将拥有三个文本字段,它们将被排序以填充变量。

约束:

1) 用户可以在消息中输入任意多个标签

2) 显示的文本字段数量取决于消息中的标签数量

无论如何我可以将原始消息替换为:

“我想要 {0} 公斤大米和 {1} 升牛奶。我只有 ${2},够吗?”

我正在更改为 {X},其中 X = 订单号。如何实现?

我曾考虑过使用格式化程序、匹配器,但我总是走入死胡同。那么,有人可以帮我解决这个问题吗?

谢谢

最佳答案

我不完全确定你想要实现什么,但如果我正确理解确切的问题并且你希望替换字符串 <variable>在用户输入中使用 {0} , {1} , {2}接连然后我认为这是答案:

您可以使用 Matcher匹配所有出现的 <variable> , 然后迭代匹配项并使用 appendReplacement将它们替换为 {0} , {1} , {2}

所以

Matcher m = Pattern.compile("<variable>").matcher(input);
StringBuffer sb = new StringBuffer();
for( int i = 0; m.find(); i++){
m.appendReplacement(sb, "{"+i+"}");
}
m.appendTail(sb);

关于java - 用动态值替换字符串中标签的动态数量 - Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19514440/

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