Java中如何操作URL字符串,查找并替换其中idnotary查询参数的值
实现方案
你可以通过正则匹配直接完成字符串替换,无需解析整个URL结构,示例实现如下:
完整代码示例
import java.util.regex.Matcher; public class ReplaceIdNotary { public static void main(String[] args) { // 原始URL字符串 String originalUrl = "https://www.XXX.it/wp-json/custom-api/notary?title=Marina%20Rossi&wpcf-idnotary=089cy5Ra9zE=&wpcf-nome-notary=Marina...................."; // 你的新idnotary值 String newIdNotary = "你需要替换的新参数值"; // 替换逻辑 String resultUrl = originalUrl.replaceAll( "(wpcf-idnotary=)[^&]+", "$1" + Matcher.quoteReplacement(newIdNotary) ); System.out.println(resultUrl); } }
逻辑说明
- 正则
(wpcf-idnotary=)[^&]+中,(wpcf-idnotary=)是捕获组,匹配参数名前缀,替换时通过$1保留该部分内容 [^&]+匹配所有非&的字符,刚好对应wpcf-idnotary的参数值,无论原有值长度、内容如何变化都能正确识别- 用
Matcher.quoteReplacement()包裹新参数值,可以避免新值中包含$等正则特殊字符时出现替换异常
内容的提问来源于stack exchange,提问作者AndreaNobili
相关产品推荐
相关产品推荐

