如何使用java文件操作仅替换文件中以下字符串中的Ip
var BOSH_URL = "http://192.168.50.107:7070/http-bind/";
答案 0 :(得分:1)
首先需要阅读文件内容。然后你可以使用与ip地址匹配的正则表达式(例如\d+\.\d+\.\d+\.\d+
)并将其替换为新的。当你完成后再将它写回文件。
这是一个正则表达式测试器:http://www.regexplanet.com/advanced/java/index.html
这是一个如何读写文件的教程:http://www.java-samples.com/showtutorial.php?tutorialid=392
答案 1 :(得分:1)
只需使用replaceAll
即可BOSH_URL = BOSH_URL.replaceAll("(\\d+.){3}\\d+", "127.0.0.1");
答案 2 :(得分:1)
正如Shoaib Chikate所说,你可以使用字符串连接,我建议你像var BOSH_URL = new StringBuilder("http://").append(ipAddress).append(port).append("/http-bind")
中那样使用StringBuilder
如果您选择使用java正则表达式替换IP,那么您必须非常谨慎地使用它;发布的一些例子有瑕疵。例如:"(\\d+.){3}\\d+"
也可以匹配'999.999.999.99999999',它不是有效的IP。因此,需要额外的逻辑来检查有效性(如果您的情况需要)。
OR
将BOSH_URL更改为var BOSH_URL = "http://@ipAddress:@port/http-bind/"
,在获得真实IP和端口后,您可以BOSH_URL.replace("@ipAddress", realIPAddress).replace("@port", realPort);
答案 3 :(得分:0)
要只更换一个ip,不要写包含replaceFirst的大逻辑替换等等等等 而是为此声明变量并更改该变量。
var ipAddress=null
var BOSH_URL="http://"+ipAddress+":7070/anyAdress"