java - 替换字符数组中的字符

标签 java arrays

我有以下程序,我试图用“%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/

相关文章:

Java - 如何将 String 设置为 static int

java - 在 Java 中隐藏一个 "local"类型参数

java - 如果 boolean 值为 true,如何检查复选框?

arrays - jq:选择范围

php - mysql 数组到字符串的转换

c++ - 当函数有特定大小的数组参数时,为什么要用指针替换它?

java - 在小于 O(n^2) JAVA 中对数组的绝对值进行排序

java - 您如何使用 RabbitMQ java 客户端库处理从故障连接中恢复的问题?

python - 如何到达数组的末尾

java - 设置单击的表格单元格的背景颜色