剑指offer——python【第2题】替换空格

博客围绕将字符串中的空格替换成“%20”的问题展开。介绍了用Python解决该问题的思路,可使用字符串处理方法如replace和re.sub,还可遍历字符串,遇到空格添加“%20”,无空格则添加原字符。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目描述

请实现一个函数,将一个字符串中的每个空格替换成“%20”。

例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。

理解

很容易想到用python里的字符串处理方法,比如replace和re.sub等

 解题

首先用sub,

# -*- coding:utf-8 -*-
import re
class Solution:
    # s 源字符串
    def replaceSpace(self, s):
        return re.sub('\s','%20',s)

然后用replace

# -*- coding:utf-8 -*-
import re
class Solution:
    # s 源字符串
    def replaceSpace(self, s):
        return s.replace(' ','%20')

还有一种方法就是依次取遍历字符串里的每个字符,一旦发现有空格,就把'%20'添加到一个空字符串里,如果没有空格,就把原字符添加到字符串里

# -*- coding:utf-8 -*-
import re
class Solution:
    # s 源字符串
    def replaceSpace(self, s):
        s_new=""
        for i in s:
            if i==" ":
                i="%20"
                s_new+=i
            else:
                s_new += i
        return s_new

 

转载于:https://www.cnblogs.com/yqpy/p/9541962.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值