如何使用replaceFirst()将字符串的一部分替换为新字符串?

时间:2019-03-14 11:09:50

标签: java

我正在尝试向this toturials学习。 我希望将carIndex替换为10

这是我的代码:

String price = "//*[@id=\"app\"]/div/main/div[4]/div/div[2]/div/div[3]/div/div[1]/div[carIndex]/div/a/div[3]/div[1]";

price.replaceFirst("(?:carIndex)", Integer.toString(1));
System.out.println("Price is: "+price); 

但它总是让我回来

Price is: //*[@id="app"]/div/main/div[4]/div/div[2]/div/div[3]/div/div[1]/div[carIndex]/div/a/div[3]/div[1]

因此,它对我不起作用。有人可以帮我吗?

1 个答案:

答案 0 :(得分:0)

因为String在Java中是不可变的,所以replaceFirst返回修改后的字符串,而不修改原始字符串 所以,重新分配

String price = "//*[@id=\"app\"]/div/main/div[4]/div/div[2]/div/div[3]/div/div[1]/div[carIndex]/div/a/div[3]/div[1]";

price = price.replaceFirst("(?:carIndex)", Integer.toString(10));
System.out.println("Price is: "+price);