A replacement string space

Java implementation as follows: 


public class Main {
    public static void main(String args[]){
        String str1 = "I am is yao liang yong";
        String replaceStr1 = replaceSpce1(str1);
        System.out.println(replaceStr1);

        String str2 = "I am    yao      liang      yong";
        String replaceStr2 = replaceSpace2(str2);
        System.out.println(replaceStr2);
    }

    //只是把一个空格替换成一个%20,如果有多个空格那么就要被替换成多个%20
    private static String replaceSpce1(String str){
        StringBuilder sb = new StringBuilder();
        for (int i=0;i<str.length();i++){
            if (String.valueOf(str.charAt(i)).equals(" ")){
                sb.append("%20");
            }else {
                sb.append(String.valueOf(str.charAt(i)));
            }
        }
        return sb.toString();
    }

    //把多个空格替换成一个%20
    private static String replaceSpace2(String str){
        StringBuilder sb = new StringBuilder();
        for (int i=0; i<str.length();i++){
            if (String.valueOf(str.charAt(i)).equals(" ")){
                if (i+1 <= str.length()-1 && !String.valueOf(str.charAt(i+1)).equals(" ")){
                    sb.append("%20");
                }
            }else {
                sb.append(String.valueOf(str.charAt(i)));
            }
        }
        return sb.toString();
    }
}

Kotlin achieve the following:

import java.lang.StringBuilder

fun main(args: Array<String>) {
    var str1 : String = "I am is yao liang yong"
    println(replaceSpace1(str1))

    var str2 = "I am   is    yao liang     yong"
    println(replaceSpace2(str2))
}

fun replaceSpace1(str : String) : String{
    var sb : StringBuilder = StringBuilder()
    for (i in 0..str.length-1){
        if (str[i] == ' '){
            sb.append("%20")
        }else{
            sb.append(str[i].toString())
        }
    }
    return sb.toString()
}

fun replaceSpace2(str : String) : String{
    var sb : StringBuilder = StringBuilder()
    for (i in 0..str.length-1){
        if (str[i] == ' '){
            if (i+1 <= str.length-1 && str[i+1] != ' '){
                sb.append("%20")
            }
        }else{
            sb.append(str[i].toString())
        }
    }
    return sb.toString()
}

 

Published 75 original articles · won praise 31 · views 10000 +

Guess you like

Origin blog.csdn.net/yaoyaoyao_123/article/details/102533058