我有以下程序,我试图用“%20”替换字符数组中的空格。 例如,如果我有这个 ['a','b',' '],输出将是这个 ['a','b','%20']。
这是程序:
import java.util.*;
import java.util.Scanner;
class some_str
{ String str1;
String space_method(String str)
{
char[] chars = str.toCharArray();
//char[] s3=new char[chars.length];
for(char c:chars)
//for (int i=0;i<chars.length;i++)
if(Character.isWhitespace(c))
{
//over here I need to replace the space with '%20'
}
return "\n"+str;
}
}
public class space_str
{
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);
System.out.println("Enter string");
String str= sc.nextLine();
some_str st=new some_str();
System.out.println(st.space_method(str));
}
}
请帮忙,谢谢。
最佳答案
这就是你想要的:
String replaceSpace(String string) {
StringBuilder sb = new StringBuilder();
for(char c : string.toCharArray()) {
if (c == ' ') {
sb.append("%20");
} else {
sb.append(c);
}
}
return sb.toString();
}
请注意,您不能将 "%20"
放入字符中,因为它是 3 个符号,而不是 1 个。这就是为什么您不应该为此目的使用数组。
对于库函数,您可以使用 string.replace("", "%20")
或 string.replaceAll("", "%20")
。
关于java - 替换字符数组中的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51460540/