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


Posted in Python onApril 22, 2019

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

Python 相关文章推荐
python使用新浪微博api上传图片到微博示例
Jan 10 Python
python入门基础之用户输入与模块初认识
Nov 14 Python
python机器学习理论与实战(六)支持向量机
Jan 19 Python
Anaconda2下实现Python2.7和Python3.5的共存方法
Jun 11 Python
python中将正则过滤的内容输出写入到文件中的实例
Oct 21 Python
pandas分别写入excel的不同sheet方法
Dec 11 Python
python 使用正则表达式按照多个空格分割字符的实例
Dec 20 Python
Python3中的最大整数和最大浮点数实例
Jul 09 Python
使用 Python 在京东上抢口罩的思路详解
Feb 27 Python
Python实现动态给类和对象添加属性和方法操作示例
Feb 29 Python
pyspark对Mysql数据库进行读写的实现
Dec 30 Python
golang中的空接口使用详解
Mar 30 Python
详解python中的hashlib模块的使用
Apr 22 #Python
Python 中包/模块的 `import` 操作代码
Apr 22 #Python
python定时检测无响应进程并重启的实例代码
Apr 22 #Python
django query模块
Apr 20 #Python
不到20行代码用Python做一个智能聊天机器人
Apr 19 #Python
详解Python3 基本数据类型
Apr 19 #Python
python面向对象法实现图书管理系统
Apr 19 #Python
You might like
在线增减.htpasswd内的用户
2006/10/09 PHP
php根据isbn书号查询amazon网站上的图书信息的示例
2014/02/13 PHP
PHP实现C#山寨ArrayList的方法
2015/07/16 PHP
php中的单引号、双引号和转义字符详解
2017/02/16 PHP
PHP流Streams、包装器wrapper概念与用法实例详解
2017/11/17 PHP
php 提交表单 关闭layer弹窗iframe的实例讲解
2018/08/20 PHP
jquery异步跨域访问代码
2013/06/28 Javascript
jQuery自定义事件的简单实现代码
2014/01/27 Javascript
JavaScript实现按Ctrl键打开新页面
2014/09/04 Javascript
jQuery定义插件的方法
2015/12/18 Javascript
EasyUi中的Combogrid 实现分页和动态搜索远程数据
2016/04/01 Javascript
基于BootStrap Metronic开发框架经验小结【七】数据的导入、导出及附件的查看处理
2016/05/12 Javascript
js表单元素checked、radio被选中的几种方法(详解)
2016/08/22 Javascript
AngularJS入门教程之MVC架构实例分析
2016/11/01 Javascript
详解堆的javascript实现方法
2016/11/29 Javascript
函数四种调用模式以及其中的this指向
2017/01/16 Javascript
jQuery实现扑克正反面翻牌效果
2017/03/10 Javascript
Vue.js实战之组件之间的数据传递
2017/04/01 Javascript
怎么使用javascript深度拷贝一个数组
2019/06/06 Javascript
[01:25:09]2014 DOTA2国际邀请赛中国区预选赛 5 23 CIS VS DT第二场
2014/05/24 DOTA
[00:17]游戏风云独家报道:DD赛后说出数字秘密 吓死你们啊!
2014/07/13 DOTA
[00:09]DOTA2新版本PA至宝特效动作展示
2014/11/19 DOTA
python Pandas 读取txt表格的实例
2018/04/29 Python
使用NumPy和pandas对CSV文件进行写操作的实例
2018/06/14 Python
Python设计模式之模板方法模式实例详解
2019/01/17 Python
python mac下安装虚拟环境的图文教程
2019/04/12 Python
对tensorflow中tf.nn.conv1d和layers.conv1d的区别详解
2020/02/11 Python
PyQt5+Pycharm安装和配置图文教程详解
2020/03/24 Python
python 穷举指定长度的密码例子
2020/04/02 Python
优秀应届毕业生自荐书
2014/06/29 职场文书
2014年工程师工作总结
2014/11/25 职场文书
辩护词范文大全
2015/05/21 职场文书
办公室规章制度范本
2015/08/04 职场文书
tensorflow+k-means聚类简单实现猫狗图像分类的方法
2021/04/28 Python
PyTorch 如何设置随机数种子使结果可复现
2021/05/12 Python
Golang并发工具Singleflight
2022/05/06 Golang