首页 > 其他 > 详细

剑指 Offer 05. 替换空格

时间:2021-03-30 00:23:31      阅读:19      评论:0      收藏:0      [点我收藏+]

剑指 Offer 05. 替换空格

请实现一个函数,把字符串 s 中的每个空格替换成"%20"。

示例 1:

输入:s = "We are happy."
输出:"We%20are%20happy."

思路

golang

1.直接遍历字符串,遇到空格用"%20"代替即可

时间复杂度:O(n)

空间复杂度:O(n)

/*1.遍历字符串,遇到空格用%20代替即可*/
func replaceSpace(s string) string {
    var str string
    for _,v := range s {
        if v == ‘ ‘{
            str += "%20"
        }else{ //注意类型转换
            str += string(v)
        }
    }
    return str
}

2.使用golang的库函数一行搞定

func Replace(s, old, new string, n int) string

返回将s中前n个不重叠old子串都替换为new的新字符串,如果n<0会替换所有old子串。

/*2.用golang的库函数*/
func replaceSpace(s string) string {
    return strings.Replace(s," ","%20",-1)
}

3.使用golang中strings包中的Split方法对字符串以" "进行切分,再用Join函数以"%20"进行拼接

func Join(a []string, sep string) string

将一系列字符串连接为一个字符串,之间用sep来分隔。

/*3.以空格为切分 并用"%20" join*/
func replaceSpace(s string) string {
	return strings.Join(strings.Split(s, " "), "%20")
}

js

/**
 * @param {string} s
 * @return {string}
 */
var replaceSpace = function(s) {
    if(s.length ===0){
        return ""
    }

    return s.split(‘ ‘).join("%20");
};

使用正则表达式进行匹配

str.replace(regexp|substr, newSubStr|function)

这里仅第一个substr字符串就会被newSubStr替换,所以采用regexp正则替换

/*3.正则替换*/
var replaceSpace = function(s) {
    return s.replace(/[ ]/g,"%20")  /* /[ ]/表示" "需要替换,/g表示全局替换 */
}

剑指 Offer 05. 替换空格

原文:https://www.cnblogs.com/zmk-c/p/14594351.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!