《剑指offer》替换空格(python)

博客提出将字符串中每个空格替换成“%20”的题目,解题思路可参考代码。同时补充了Python中join用法知识,包括join()连接字符串数组,os.path.join()根据系统组合多个路径后返回。

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

题目描述

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

解题思路:参见代码

python2.7
方法1:
# -*- coding:utf-8 -*-
class Solution:
    # s 源字符串
    def replaceSpace(self, s):
        # write code here
        return s.replace(" ","%20")#用"%20"直接替换空格(replace函数)
方法2:
# -*- coding:utf-8 -*-
class Solution:
    # s 源字符串
    def replaceSpace(self, s):
        # write code here
        s=list(s)#将字符串变成list,这样才有下标
        for i in range(len(s)):
            if s[i]==" ":
                s[i]="%20"
        return ''.join(s)#

知识补充

python 中join用法: 
python中有join()和os.path.join()两个函数,具体作用如下: 
join():连接字符串数组。将字符串、元组、列表中的元素以指定的字符(分隔符)连接生成一个新的字符串 
os.path.join(): 根据系统将多个路径组合后返回

python中删除空格的方法
>>> a = "   hello   python   "
方法1:
>>> a.replace(' ','')                 #巧妙借助replace方法,用空替换空格
'hellopython'
方法2
>>> ''.join(a.split(' '))   #先根据空格去切分,然后用空连起来
'hellopython'

 

#对数组进行操作
>>> seq1 = ['hello','good','boy','doiido']
>>> print ' '.join(seq1)
hello good boy doiido

>>> print ':'.join(seq1)
hello:good:boy:doiido

#对字符串进行操作
>>> seq2 = "hello good boy doiido"
>>> print ':'.join(seq2)
h:e:l:l:o: :g:o:o:d: :b:o:y: :d:o:i:i:d:o

#对元组进行操作
>>> seq3 = ('hello','good','boy','doiido')
>>> print ':'.join(seq3)
hello:good:boy:doiido

#对字典进行操作
>>> seq4 = {'hello':1,'good':2,'boy':3,'doiido':4}
>>> print ':'.join(seq4)
boy:good:doiido:hello

#合并目录
>>> import os
>>> os.path.join('/hello/','good/boy','doiido')
linux:
'/hello/good/boy/doiido'
windows
'/hello/good/boy\doiido'
如果指定了,则不自动添加
os.path.join('/hello/','good/boy/','doiido')
'/hello/good/boy/doiido'
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值