Loading

替换空格

题目描述


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

思路


  熟悉Python的同学,会立即想到自带re库中的re.sub。当然在这个方法一行代码就搞定了。

import re

# s 源字符串
def replace_space_1(s):
    return re.sub(" ", "%20", s)

运行效率是:

运行时间:40ms;占用内存:5636k

常规思路


  直接遍历字符串,当遇到空格时,进行替换。这里需要预先定义一个存储对象进行存储。

def replace_space_2(s):
    r = []
    for token in s:
        if token == " ":
            r.append("%20")
        else:
            r.append(token)
    
    return "".join(r)

运行效率是:

运行时间:27ms;占用内存:5624k

另外的方法


  上个方法我们直接定义了一个空列表,其实对Python而言,字符串直接转列表是相当简洁的。

def replace_space_3(s):
    s = list(s)
    length = len(s)
    for i in range(0, length):
        if s[i] == " ":
            s[i] = "%20"
    
    return "".join(s)
posted @ 2020-04-14 10:26  selfcs  阅读(131)  评论(0编辑  收藏  举报