繁体   English   中英

如何用另一部分替换字符串的一部分?

[英]How to replace a part of a string with another part?

我有像KA01F332-9:25,KA01F212-9:27,KA01F242-9:35,KA01F232-9:45,等那样的长字符串。 这些是车辆编号和时间的组合。 现在我想将KA01F242的时间KA01F24210:20

到目前为止,我已经做到了。

String busEAT=KA01F332-9:25,KA01F212-9:27,KA01F242-9:35,KA01F232-9:45,;
busEAT.subString(busEAT.indexOf(vno),busEAT.indexOf(','));

但是我没有得到确切的价值。必须动态地做到这一点,任何人都可以帮助我。

您可以像这样使用正则表达式:

    String s = "KA01F332-9:25,KA01F212-9:27,KA01F242-9:35,KA01F232-9:45,";
    System.out.println(s.replaceFirst("(?<=KA01F242-).*?(?=,)", "10:20")); 
   // Positive look-behind for "KA01F242" and positive look-ahead for "," . They are just matched but not captured, so they will not get replaced.

O / P:

KA01F332-9:25,KA01F212-9:27,KA01F242-10:20,KA01F232-9:45,

编辑:

"(?<=KA01F242-).*?(?=,)", "10:20") ->首先查找“ KA01F242”前面的任何字符(正向后看),然后选择所有字符(“ KA01F242”只是匹配,未选中。)接下来,所有连续字符都被选中,直到得到逗号(即开始匹配,未选中)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM