def trim(s):
while s[:1]==' ':
s=s[1:]
while s[-1:]==' ': #这一句替换成while s[-1]==' ',就处理不了
s=s[:-1] #‘’,‘ ’这样的字符串了,报错IndexError: string index out of range
return s
这是为何?
def trim(s):
while s[:1]==' ':
s=s[1:]
while s[-1:]==' ': #这一句替换成while s[-1]==' ',就处理不了
s=s[:-1] #‘’,‘ ’这样的字符串了,报错IndexError: string index out of range
return s
这是为何?
4 回答4.5k 阅读✓ 已解决
1 回答3.4k 阅读✓ 已解决
4 回答3.8k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
1 回答4.5k 阅读✓ 已解决
1 回答3.9k 阅读✓ 已解决
2 回答430 阅读✓ 已解决
以上是文档对切片的说明,可以看出使用切片时会先对冒号前后的i与j进行判断,所以''[-1:]中,判断后的i与j的值相等,故返回的切片为空,不会报错。
另外去除字符串首尾空格可以考虑直接用str自带的函数strip()