我有一个字符串如下:
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";
请注意:
01
的位置未从起始位置确定01
将在第二.
01
将在第二+
01
将在GBP
之后到来GBP
只有一次在String 答案 0 :(得分:0)
我使用下面的代码并且工作正常
int indexOf2ndDot=toModify.indexOf(".",toModify.indexOf("GBP"));
toModify =toModify.substring(0,indexOf2ndDot-2)+"95"+toModify.substring(indexOf2ndDot);
如果使用正则表达式有更好的解决方案,请建议。