如何动态替换特定值的子串?

时间:2012-08-27 08:08:14

标签: java

我的属性文件中有值,如

  

bloodpressure.properties:
      (关键,值):(血压,你的血压 B6 ,这个很高)

在我的java类中,我正在读取属性文件中的值,但我想用计算值替换值,如

String B6 = "120";
Properties bp = new Properties();
bp.load(new FileInputStream("filename"));

String bpstr = bp.getProperty(bloodpressure);

现在,我想用B6值(120)替换B6值 我怎么能动态地做呢?我有很多像这样的字符串。

我只想迭代属性文件,值应该用计算值替换。

3 个答案:

答案 0 :(得分:0)

使用String.replace()

bpstr.replace("B6",B6);

更新

如果您有多个B6实例,则可以使用replaceAll

bpstr.replaceAll("B6",B6);

答案 1 :(得分:0)

MessageFormat.format这样做:

String msg = "Your blood pressure is {0}";
System.out.println(MessageFormat.format(msg, 120));

基本上,您定义占位符并将其替换为您的值。这对于国际化尤其有用,其中占位符的出现顺序可能会以不同的语言发生变化。

答案 2 :(得分:0)

      MessageFormat.format does that:

      String msg = "Your blood pressure is {0}";
      System.out.println(MessageFormat.format(msg, 120));

这将做你想要的事情。在这里,{0}被替换为120。