如何用Java替换.sh中的单行?

时间:2012-08-30 12:07:19

标签: java

我有一个带有property=value的.sh脚本。让它成为:

  

some_property =“某些价值”

该属性的值在脚本中使用,脚本在Java代码中启动。我想动态更改此属性的值。我尝试使用replaceFirst()方法,但我不知道使用regexp正确替换它的“some_property”的实际值。

如何通过"some_property="替换以some_property=my_value开头的单行来编辑.sh文件?顺便说一下文件中有几个地方可以满足模式“some_property =”,所以我需要改变第一次出现。

2 个答案:

答案 0 :(得分:6)

你应该没有正则表达式:

line.replaceFirst("some_property=.*$", "some_property=\"" + your_value + "\"");

答案 1 :(得分:1)

您可以使用String.indexOf(int)获取=\n的排名,然后使用=替换\nsome_property=(.+)之间的字符串,例如{{1}} 3}}

顺便说一句 - {{1}}(并取代1美元)不行吗? :)