引用
java解析替换
public static String replaceAccessToken(String url, String name, String accessToken) {
if(StringUtils.isNotBlank(url) && StringUtils.isNotBlank(accessToken)) {
int index = url.indexOf(name + "=");
if(index != -1) {
StringBuilder sb = new StringBuilder();
sb.append(url.substring(0, index)).append(name + "=")
.append(accessToken);
int idx = url.indexOf("&", index);
if(idx != -1) {
sb.append(url.substring(idx));
}
url = sb.toString();
}
}
return url;
}
引用
正则替换
public static String replaceAccessTokenReg(String url, String name, String accessToken) {
if(StringUtils.isNotBlank(url) && StringUtils.isNotBlank(accessToken)) {
url = url.replaceAll("(" + name +"=[^&]*)", name + "=" + accessToken);
}
return url;
}
测试代码
public static void main(String[] args) {
String url = "http://a.b.com?access_token=3221342231233=&";
String url1 = "http://a.b.com?a=1&access_token=323";
String url2 = "http://a.b.com?a=1&access_token=323&b=2";
String url3 = "http://a.b.com?a=1&access_token=323acesstoken=&b=2&d=";
List<String> strs = new ArrayList<String>();
strs.add(url);
strs.add(url1);
strs.add(url2);
strs.add(url3);
String paramName = "access_token";
for(String str : strs) {
String nac = "babi";
String s0 = replaceAccessToken(str, paramName, nac);
String s1 = replaceAccessTokenReg(str, paramName, nac);
System.out.println(s0.equals(s1) + " " + s0 + " " + s1);
}
true http://a.b.com?access_token=babi& http://a.b.com?access_token=babi&
true http://a.b.com?a=1&access_token=babi http://a.b.com?a=1&access_token=babi
true http://a.b.com?a=1&access_token=babi&b=2 http://a.b.com?a=1&access_token=babi&b=2
true http://a.b.com?a=1&access_token=babi&b=2&d= http://a.b.com?a=1&access_token=babi&b=2&d=
分享到:
相关推荐
在Java编程中,将文本内容中的符合URL格式的字符串转换为超链接是一项常见的需求,特别是在处理用户生成内容或网络爬虫应用中。本教程将详细讲解如何使用Java实现这一功能,主要涉及URL正则表达式匹配和字符串处理...
除了添加两个JsFilter.java和GetHttpServletRequestWrapper.java之外,需要在web.xml添加对应的配置。 <!-- 特殊字符过滤 --> <filter-name>sqlFilter <filter-class>weixin.idea.waiting.cq.controller.Js...
在JavaScript中,处理URL参数是一项常见的任务,包括添加新的参数、修改现有参数或者从URL中删除参数。在本文中,我们将深入探讨如何使用JavaScript来实现这些功能。 首先,我们来看一个名为`addToUrl`的函数,它...
本篇将详细讲解如何利用Java编程语言,结合正则表达式和URL来获取指定网站的数据信息。 首先,我们需要了解URL。URL是互联网上资源的唯一地址,它包含了协议类型(如http或https)、服务器地址、路径以及可能的查询...
在Java中,通过`java.net.URL`和`java.net.HttpURLConnection`类可以实现从指定网址获取资源,特别是图片数据。本案例中,`GsService`类的`imgSave()`方法就是利用这两个类来实现从远程服务器下载图片并保存到本地的...
在IT领域,正则表达式是一种强大的文本处理工具,它被广泛应用于字符串搜索、替换以及数据提取等场景。本文将围绕“正则匹配URL”这一主题展开,详细解析如何使用正则表达式来识别和匹配URL,特别是针对JSP环境下URL...
Java URLRewriter是一个用于处理和重写URL的工具,它在Web开发中起着关键作用,尤其是在实现URL美化、URL路由、以及隐藏实际路径等方面。本文将深入探讨URLRewriter的工作原理、使用方法以及相关知识点。 ...
* @参数:url */ private static String getDoMain(String url) { Pattern p = Pattern.compile( "[^//]*?\\.(com|cn|net|org|biz|info|cc|tv)", Pattern.CASE_INSENSITIVE); Matcher matcher = p.matcher...
System.out.println("OUT参数值: " + outParam); cs.close(); conn.close(); } catch (SQLException e) { e.printStackTrace(); } } } ``` 在这个例子中,`?` 是占位符,它们的顺序对应于存储过程中的参数...
在Java编程环境中,生成带参数的微信小程序二维码是一项常见的任务,尤其在开发微信相关的服务时。这个过程涉及到几个关键步骤,包括与微信API的交互、数据编码和图像处理。下面将详细阐述如何实现这一功能。 首先...
这里的关键是理解服务接口文档中的参数意义及格式,这对于后续编写Java程序至关重要。 #### 步骤3:编写Java程序 接下来,我们将根据服务接口文档提供的信息编写Java程序,以实现调用Web服务并获取天气预报的功能...
2. **指定转换规则**:UrlTool允许用户设定特定的转换规则,比如替换URL中以某个字符开头的部分。这可能是因为某些URL中包含了编码或加密的部分,或者是隐藏了真实路径的特殊字符。 3. **执行转换**:一旦设置好...
在JavaScript中,获取URL参数是常见的任务,尤其在开发网页应用程序时。这通常涉及到解析URL字符串,找到特定的参数并提取其值。以下两种方法详细解释了如何在JavaScript中实现这个功能。 ### 方法1:分解链接方式 ...
- **建立URL连接**:通过URL进行网络访问。 - **UDPsocket**:基于UDP协议的套接字编程。 - **建立UDP发送端**:发送数据包。 - **建立UDP接收端**:接收数据包。 #### 17. Java 5.0的新特性 - **泛型**:通过泛型...
例如,ArrayList中的T代表一个类型参数,可以在实例化时指定具体的类型。 9. **注解(Annotation)**:注解是一种元数据,用于向编译器或JVM提供额外的信息。例如,@Override注解确保重写的方法与父类方法签名匹配...
- 对于命令行编译和运行,你可以使用`-cp`或`-classpath`参数指定包含ojdbc7.jar的目录,或者将其复制到`JAVA_HOME/lib`目录下,然后运行`java -jar`命令。 3. **编写Java代码**:使用JDBC API编写代码来建立...
`url`参数应包含服务器地址、端口、数据库名等信息。`username`和`password`是数据库的用户名和密码。 连接建立后,你可以执行SQL查询、更新、插入等操作。例如,使用`Statement`或`PreparedStatement`对象执行SQL...
2. 创建`PostMethod`对象,指定请求URL为Webchinese的短信发送API。 3. 设置请求头,包括内容类型和字符编码。 4. 设置请求参数,包括用户名、密钥、手机号和短信内容。 5. 发送请求,并获取响应状态码和响应头信息...
`替换实际值。 ```java String sql = "INSERT INTO your_table (field1, field2, field3) VALUES (?, ?, ?)"; PreparedStatement pstmt = conn.prepareStatement(sql); ``` 5. **设置参数并执行SQL** - 对于每个...