剑指office----替换空格

剑指office----替换空格

题目描述:

请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。

问题分析:

  • 这道题不难,我们可以通过循环判断字符串的字符是否为空格,是的话就利用append()方法添加追加“%20”,否则还是追加原字符。

  • 或者最简单的方法就是利用: replaceAll(String regex,String replacement)方法了,一行代码就可以解决。

/**
 * @author LanceQ
 * @version 1.0 2021/4/23
 */
public class ReplaceSpaces {
    public static void main(String[] args) {
        String s="We Are Happy";
        String s1="We Are Happy";
        System.out.println(change(s));
        System.out.println(change1(s1));
    }

    private static String change(String s) {
        int len=s.length();
        char a='a';
        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < len; i++) {
            a=s.charAt(i);
            if(String.valueOf(a).equals(" ")){
                sb.append("%20");
            }else {
                sb.append(a);
            }
        }
        return String.valueOf(sb);
    }

    private static String change1(String s) {
        //两种替代的空格方式
        // return s.replaceAll(" ","%20");
        return s.toString().replaceAll("\\s","%20");
        //用给定的替换替换与给定的regular expression匹配的此字符串的每个子字符串。 
        //\ 转义字符. 如果你要使用 "\" 本身, 则应该使用 "\\". 
        //String类型中的空格用“\s”表示,
    }
}

String.valueOf(a)把char类型转换成String类型

    public static String valueOf(char c) {
        char data[] = {c};
        return new String(data, true);
    }

s.charAt(i)因为String的底层本质上是一个char[]数组,只需要要传递一个你要找的值的位置好过去,就可以返回那个位置的字符。

    public char charAt(int index) {
        if ((index < 0) || (index >= value.length)) {
            throw new StringIndexOutOfBoundsException(index);
        }
        return value[index];
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值