java中的正则表达式;用其他字符替换字符

时间:2015-10-10 18:49:00

标签: java regex

我有一个字符串如下:

String toModify= 
    "T600XX MAG4292505 0120153P+000000335.20GBP+000000001.0000+0000335.2001+00000 +000001";

我必须用01替换在第二个点之前写的95

修改后的String的预期结果应为:

String modified= 
    "T600XX MAG4292505 0120153P+000000335.20GBP+000000095.0000+0000335.2001+00000 +000001";

请注意:

  1. 01的位置未从起始位置确定
  2. 我们确定01将在第二.
  3. 之前出现
  4. 已确定01将在第二+
  5. 之后出现
  6. 我们确定01将在GBP之后到来GBP 只有一次在String

1 个答案:

答案 0 :(得分:0)

我使用下面的代码并且工作正常

int indexOf2ndDot=toModify.indexOf(".",toModify.indexOf("GBP"));   
toModify =toModify.substring(0,indexOf2ndDot-2)+"95"+toModify.substring(indexOf2ndDot);

如果使用正则表达式有更好的解决方案,请建议。