我有以下代码
import java.io.*;
public class Test{
public static void main(String args[]){
String Str = new String("Welcome to java world !");
System.out.print("Return Value :" );
System.out.println(Str.replaceAll(" ",
"%20" ));
}
}
Run Code Online (Sandbox Code Playgroud)
这会产生以下结果:
Return Value :Welcome%20to%20java%20world%20!
Run Code Online (Sandbox Code Playgroud)
但问题是我在我们的项目中使用遗留的java 1.2,不支持String类中的replaceAll或StringBuffer类中的replace.如何在java 1.2中实现replaceAll逻辑以用%20替换所有空间
我很认真,当我说,你应该迁移从1.2了,但即使你有一个古老的版本搞乱,它不像你没有一些原始的工具.
StringTokenizer 可以使用,并且考虑到默认情况下它可以对带有空格的字符串进行标记,这应该会让你了解如何解决这个问题.
步骤很简单:
StringTokenizer实例StringBuffer"%20"后作为一种粗略的,未经测试的*方法,这是我想要的:
public String replace(String phrase, String token, String replacement) {
StringTokenizer st = new StringTokenizer(phrase, token);
StringBuffer stringBuffer = new StringBuffer();
while(st.hasMoreTokens()) {
stringBuffer.append(st.nextToken());
stringBuffer.append(replacement);
}
return stringBuffer.toString();
}
Run Code Online (Sandbox Code Playgroud)
*:不可测试; 我不能也不会下载Java 1.2的副本.
| 归档时间: |
|
| 查看次数: |
230 次 |
| 最近记录: |