举例url为 https://test.com/test!!测试~,只需要对其中中文部分进行转码
时间: 2024-10-13 15:07:03 浏览: 22
联通卡CPS 联通分销佣金系统/联通大王卡分销 独立安装版
如果你只想对URL中的中文部分进行编码,而不改变其他字符(如英文、特殊字符等),你可以先分割出中文部分再单独进行编码。这里我们假设输入URL已经存在并命名为`originalUrl`,可以按照以下步骤操作:
```java
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
public class Main {
private static final String ENGLISH_PATTERN = "[^\\u4e00-\\u9fa5]"; // 正则表达式匹配非中文字符
public static void main(String[] args) {
String originalUrl = "https://test.com/test!!测试~";
String chinesePart = originalUrl.replaceAll(ENGLISH_PATTERN, ""); // 提取中文部分
if (!chinesePart.isEmpty()) { // 检查是否有中文
String encodedChineseUrl = URLEncoder.encode(chinesePart, StandardCharsets.UTF_8.toString());
String newUrl = originalUrl.replace(chinesePart, encodedChineseUrl); // 替换原URL中的中文部分
System.out.println("Encoded URL (only Chinese part): " + newUrl);
} else {
System.out.println("No Chinese characters found in the URL.");
}
}
}
```
这个程序会将URL中的所有非中文字符保留,只替换掉中文部分为对应的编码形式。
阅读全文