【发布时间】:2015-03-12 07:22:18
【问题描述】:
我正在寻找一些方法来用 Java 中的正则表达式替换字符串,如下所示:
(BatteryTemperature > 12.23)
我需要做的是将12.23替换为54.01,实际上是摄氏度到华氏度如下:
(BatteryTemperature > 54.01)
但是,字符串可能是不同的条件,例如:
(Signal = 90) AND (BatteryTemperature > 12.23)
或
(Signal = 90) OR (Latitude = 123.653) AND (BatteryTemperature > 12.23)
我有如下的正则表达式
(\\((\\w+) (>|<|=) (\\d+.\\d+)\\))
但是,java 中似乎不支持正则表达式 (?R)?
有没有其他方法可以将 BatteryTemperature 值替换为转换后的值。
(Signal = 90) OR (Latitude = 123.653) AND (BatteryTemperature > 54.01)
感谢任何帮助。
【问题讨论】:
-
正则表达式与温度转换无关
-
Java replaceAll 方法接受正则表达式。但是,如果您使用上述正则表达式,请注意它不仅会替换您的 BatteryTemperature,还会替换 Signal 和 Latitude。
http://docs.oracle.com/javase/6/docs/api/java/lang/String.html#replaceAll%28java.lang.String,%20java.lang.String%29 -
嗨 Andremoniy,编辑我的错字。我正在寻找某种方法来用转换后的值替换 BatteryTemperature 项的值。温度转换将由另一个代码计算,而不是使用正则表达式
-
你好,Min Naing Oo,谢谢你的建议。我会试试的。
标签: java regex replace match regular-language