Python切片操作去除字符串首尾的空格

yipeiwu_com5年前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切片操作去除字符串首尾的空格 ,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

相关文章

pandas将DataFrame的列变成行索引的方法

pandas提供了set_index方法可以将DataFrame的列(多列)变成行索引,通过reset_index方法可以将层次化索引的级别会被转移到列里面。 1、DataFrame的s...

Python常见数据结构详解

本文详细罗列归纳了Python常见数据结构,并附以实例加以说明,相信对读者有一定的参考借鉴价值。 总体而言Python中常见的数据结构可以统称为容器(container)。而序列(如列表...

教女朋友学Python3(二)简单的输入输出及内置函数查看 原创

教女朋友学Python3(二)简单的输入输出及内置函数查看 原创

这是第二天了,工作之余和女朋友一起学Python3,代码都是她敲的,有点辣眼睛,仅做参考。 1.题目:输入“姓名”,输出“你好,姓名” 有关安装和打开Python shell的步骤,参考...

python网络编程 使用UDP、TCP协议收发信息详解

UDP UDP是面向无连接的通讯协议,UDP数据包括目的端口号和源端口号信息,由于通讯不需要连接,所以可以实现广播发送。 UDP传输数据时有大小限制,每个被传输的数据报必须限定在64KB...

spark dataframe 将一列展开,把该列所有值都变成新列的方法

spark dataframe 将一列展开,把该列所有值都变成新列的方法

The original dataframe 需求:hour代表一天的24小时,现在要将hour列展开,每一个小时都作为一个列 实现: val pivots = beijingGe...