下面通过实例代码给大家分享python切片操作去除字符串首尾的空格的方法,具体内容如下所示:
1
2
3
4
5
6
7
8
9
|
#利用切片操作,实现一个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,如果是,直接返回字符串
最后,返回字符串
1
2
3
4
5
6
7
8
9
10
11
12
13
|
# -*- 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
|
测试代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
# 测试:
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切片操作去除字符串首尾的空格 ,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!
原文链接:https://www.cnblogs.com/jianglin1996/archive/2019/04/22/10749125.html