我对正则表达式一直不够好,我认为这是它的工作。
我有一个像www.somelink/phoyto.jpg/?sz=50
我需要用我的价值取代50,让我们说100。麻烦的是,我无法确定,这将永远是sz=50
而不是sz=150
或{{1或任何其他值。
我需要的是找到包含sz=10
的字符串,并将其替换为'sz' + number
。
当然,我可以手动做到这一点"在一些for循环中,但这不会是非常有效的。
答案 0 :(得分:3)
str = "www.somelink/phoyto.jpg/?sz=50";
str.replaceall("sz=\\d+", "sz=100");
\d
是数字的java模式。 +
代表一个或多个数字。 replaceall
替换所有sz=<number>
。
这是一个方便的java在线正则表达式测试程序:http://www.regexplanet.com/advanced/java/index.html
答案 1 :(得分:2)
这应该有效:
String link = "www.somelink/phoyto.jpg/?sz=50";
link = link.replaceFirst("sz=\\d+", "sz=100");
System.out.println(link);
答案 2 :(得分:1)
这非常简单,这种模式应该有效:
(sz=\d+)
<强>代码:强>
String result = searchText.replaceAll("(sz=\\d+)", "sz100");
示例:强>