我需要将 {0} 替换为“D1”,将 {1} 替换为“X0”,将 {2} 替换为“DP12001”,依此类推... 我尝试用正则表达式编写,结果是这样的。
String header = "{0}^{1}^{2}^{3}^{4}^{5}^{6}^{7}^{8}^{9}^{10}";
String _header = "";
String rl = "D1,X0,DP12001,1,2,10021521012,1,141128135639,1,12,0";
logger.debug("rl-->{}", rl);
String[] parts = rl.split(",");
int partCount = 0;
for (String part : parts) {
_header = header.replaceAll("\\{." + partCount + "\\}", part);
partCount++;
}
我需要这样的最终输出。 “D1^X0^DP12001^1^2^10021521012^1^141128135639^1^12^0”
但是我的代码没有按预期工作。
最佳答案
您可以使用MessageFormat
这里:
String header = "{0}^{1}^{2}^{3}^{4}^{5}^{6}^{7}^{8}^{9}^{10}";
String rl = "D1,X0,DP12001,1,2,10021521012,1,141128135639,1,12,0";
String[] parts = rl.split(",");
System.out.println(MessageFormat.format(header, parts));
( live demo )
关于java - 用java正则表达式替换大括号之间的特定文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27373324/