我有以下代码
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" ));
}
}
这会产生以下结果:
Return Value :Welcome%20to%20java%20world%20!
但问题是我在我们的项目中使用遗留的java 1.2,不支持String类中的replaceAll或StringBuffer类中的replace。如何在java 1.2中实现replaceAll逻辑以用%20替换所有空格
答案 0 :(得分:5)
当我说你应该从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();
}
*:untestable;我不能不会下载Java 1.2的副本。