首页 > 解决方案 > 使用replace()在java中用不同的字符串替换字符串的3个相同字符

问题描述

如何在 java 中使用不同的字符串替换字符串的 3 个相同字符 replace()

final String QUERY = "select * from gfc.LSI_ELGBLTY where INSURANCE_ID = ? and SYS_CD = ? and ACCT_TYPE in (?);

例如,字符?在上面的字符串中出现了 3 次。如何使用replace()函数用三个不同的字符串替换这个字符?

标签: javastringreplace

解决方案


由于您正在对QUERY变量进行硬编码,因此我建议您QUERY稍微调整一下变量。

现在,想法是?{}里面的参数号替换。

final String QUERY = "select * from gfc.LSI_ELGBLTY where INSURANCE_ID = {0} and SYS_CD = {1} and ACCT_TYPE in ({2})";
System.out.println(MessageFormat.format(QUERY,"1","2","3,4,5"));

这将产生输出为

select * from gfc.LSI_ELGBLTY where INSURANCE_ID = 1 and SYS_CD = 2 and ACCT_TYPE in (3,4,5)

推荐阅读