python去掉字符串空格_Python切片操作去除字符串首尾的空格

下面通过实例代码给大家分享Python切片操作去除字符串首尾的空格的方法,具体内容如下所示:

#利用切片操作,实现一个trim()函数,去除字符串首尾的空格,注意不要调用str的strip()方法

def trim(s):

while s[0:1]==' ':

s=s[1:]

while s[(len(s)-1):len(s)]==' ':

s=s[:-1]

return s

s=input('请输入一个字符串:')

print('去除首尾空格后',trim(s))

知识点:

•取一个list或tuple的部分元素,比如取list的前3个元素,对这种经常取指定索引范围的操作,用循环十分繁琐, Python提供了切片(Slice)操作符,能大大简化这种操作。 在很多编程语言中,针对字符串提供了很多各种截取函数(例如,substring),其实目的就是对字符串切片。Python没有针对字符串的截取函数,只需要切片一个操作就可以完成。

•L[0:3]表示取前3个元素, 从索引0开始取,直到索引3为止,但不包括索引3。即索引0,1,2。 如果第一个索引是0,还可以省略:L[:3]。 也可以从索引1开始,取出2个元素出来:L[1:3]。 取倒数第一个元素 L[-1]。L[-2:]表示取从倒数第二个元素到最后一个元素。创建一个0-99的数列:L = list(range(100)),取前10个数:L[:10],取后10个数:L[-10:], 前10个数,每两个取一个:L[:10:2]。 所有数,每5个取一个: L[::5]。 只写[:]就可以原样复制一个list。 字符串'xxx'也可以看成是一种list,每个元素就是一个字符。因此,字符串也可以用切片操作,只是操作结果仍是字符串。

PS:下面看下利用切片操作,实现一个trim()函数,去除字符串首尾的空格,注意不要调用str的strip()方法:

首先判断字符串的长度是否为0,如果是,直接返回字符串

第二,循环判断字符串的首部是否有空格,如果有,去掉空格,再判断字符串的长度是否为0,如果是,直接返回字符串

第三,循环判断字符串的尾部是否有空格,如果有,去掉空格,再判断字符串的长度是否为0,如果是,直接返回字符串

最后,返回字符串

# -*- coding: utf-8 -*-

def trim(s):

if 0==len(s):

return s

while ' '==s[0]:

s=s[1:]

if 0==len(s):

return s

while ' '==s[-1]:

s=s[:-1]

if 0==len(s):

return s

return s

测试代码:

# 测试:

from trim import trim

if trim('hello ') != 'hello':

print('测试失败!')

elif trim(' hello') != 'hello':

print('测试失败!')

elif trim(' hello ') != 'hello':

print('测试失败!')

elif trim(' hello world ') != 'hello world':

print('测试失败!')

elif trim('') != '':

print('测试失败!')

elif trim(' ') != '':

print('测试失败!')

else:

print('测试成功!')

总结

以上所述是小编给大家介绍的Python切片操作去除字符串首尾的空格 ,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,让我来逐个回答您的问题: (1)去掉字符串s1首尾空格 我们可以使用字符串的 `strip()` 方法来去掉字符串首尾空格,代码如下: ```python s1 = " my python program " s1 = s1.strip() print(s1) # 输出:'my python program' ``` (2)字符串长度 我们可以使用内置函数 `len()` 来获取字符串的长度,代码如下: ```python s1 = "my python program" length = len(s1) print(length) # 输出:17 ``` (3)字符串大小写转换 我们可以使用字符串的 `upper()` 和 `lower()` 方法来分别将字符串转换为全大写和全小写,代码如下: ```python s1 = "My Python Program" s1_upper = s1.upper() s1_lower = s1.lower() print(s1_upper) # 输出:'MY PYTHON PROGRAM' print(s1_lower) # 输出:'my python program' ``` (4)字符串的索引和查找函数 我们可以使用字符串的 `index()` 和 `find()` 方法来查找字符串中某个子串的位置,代码如下: ```python s1 = "my python program" index1 = s1.index('python') index2 = s1.find('program') print(index1) # 输出:3 print(index2) # 输出:11 ``` 如果查找的子串不存在, `index()` 方法会抛出异常,而 `find()` 方法会返回 `-1`。 (5)字符串切片 我们可以使用字符串切片操作符 `[]` 来获取字符串的子串,代码如下: ```python s1 = "my python program" s2 = s1[3:9] # 获取下标为 3~8 的子串(不包括 9) print(s2) # 输出:'python' ``` (6)字符串的拆分与合并函数 我们可以使用字符串的 `split()` 方法来将字符串拆分成列表,也可以使用字符串的 `join()` 方法来将多个字符串合并成一个字符串,代码如下: ```python s1 = "my python program" s1_list = s1.split() # 将字符串拆分成列表 s2_list = ["my", "java", "program"] s2 = ",".join(s2_list) # 将多个字符串合并成一个字符串 print(s1_list) # 输出:['my', 'python', 'program'] print(s2) # 输出:'my,java,program' ``` 好了,以上就是您提出的问题的答案了,有什么不明白的地方可以随时问我。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值