2023-09-24
原文作者:moxiaolin 原文地址: https://blog.csdn.net/qq_37909508/article/details/89357340

题目描述

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

第一种办法使用正则表达式:

    public static String replaceSpace(StringBuffer str) {
    		final  String REGEX=" ";
    		final  String REPLACE="%20";
    		Pattern p=Pattern.compile(REGEX);
    		Matcher m = p.matcher(str);
    		String temp;
    		temp=m.replaceAll(REPLACE);
    		return  temp;
    	}

*eclispe能够通过,但是牛客上的编译器不能识别Pattern和Matcher;

第二种方法,自己手写一个查询替换:

    public static String MyReplaceSpace(StringBuffer str) {
    		int length = str.length();
    		final String REPLACE="%20";
    		for(int i=0;i<length;i++){
    			if(str.charAt(i)==' ') {
    				str.deleteCharAt(i);
    				str.insert(i, REPLACE);
    			}
    		}
    		String string=new String(str);
    		return string;
    	}

第三种方法直接使用String类的replaceAll()方法:

    public static String replaceSpace(StringBuffer str) {
        	return str.toString().replaceAll(" " , "%20");
        }
阅读全文