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中使用异常处理来判断运行的操作系统平台方法
Jan 22 Python
Python 正则表达式入门(初级篇)
Dec 07 Python
Python numpy生成矩阵、串联矩阵代码分享
Dec 04 Python
matplotlib作图添加表格实例代码
Jan 23 Python
Python3实现的简单验证码识别功能示例
May 02 Python
神经网络相关之基础概念的讲解
Dec 29 Python
Python简单基础小程序的实例代码
Apr 28 Python
python elasticsearch环境搭建详解
Sep 02 Python
Python根据服务获取端口号的方法
Sep 25 Python
基于Tensorflow:CPU性能分析
Feb 10 Python
python与pycharm有何区别
Jul 01 Python
python3 通过 pybind11 使用Eigen加速代码的步骤详解
Dec 07 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
php实现根据词频生成tag云的方法
2015/04/17 PHP
FormValid0.5版本发布,带ajax自定义验证例子
2007/08/17 Javascript
自定义一个jquery插件[鼠标悬浮时候 出现说明label]
2011/06/27 Javascript
javascript浏览器兼容教程之事件处理
2014/06/09 Javascript
JS实现图片产生波纹一样flash效果的方法
2015/02/27 Javascript
JavaScript整除运算函数ceil和floor的区别分析
2015/04/14 Javascript
解决jquery中动态新增的元素节点无法触发事件问题的两种方法
2015/10/30 Javascript
理解javascript对象继承
2016/04/17 Javascript
简单谈谈Vue 模板各类数据绑定
2016/09/25 Javascript
Angular 4.x中表单Reactive Forms详解
2017/04/25 Javascript
删除table表格行的实例讲解
2017/09/21 Javascript
浅谈Redux中间件的实践
2018/07/27 Javascript
elementUI Vue 单个按钮显示和隐藏的变换功能(两种方法)
2018/09/04 Javascript
解决Vue2.0 watch对象属性变化监听不到的问题
2018/09/11 Javascript
vue单文件组件lint error自动fix与styleLint报错自动fix详解
2019/01/08 Javascript
ES6 Promise对象的含义和基本用法分析
2019/06/14 Javascript
详解微信小程序之提高应用速度小技巧
2020/01/07 Javascript
Angular之jwt令牌身份验证的实现
2020/02/14 Javascript
基于vue和bootstrap实现简单留言板功能
2020/05/30 Javascript
Python使用Socket(Https)Post登录百度的实现代码
2012/05/18 Python
Python利用ansible分发处理任务
2015/08/04 Python
Python使用arrow库优雅地处理时间数据详解
2017/10/10 Python
Scrapy框架CrawlSpiders的介绍以及使用详解
2017/11/29 Python
Python 爬取携程所有机票的实例代码
2018/06/11 Python
Django 外键的使用方法详解
2019/07/19 Python
python 解决cv2绘制中文乱码问题
2019/12/23 Python
Python3将ipa包中的文件按大小排序
2020/04/17 Python
Ann Taylor官方网站:美国最大的女性产品制造商之一
2016/09/14 全球购物
阿联酋航空官方网站:Emirates
2017/10/17 全球购物
英国奢侈品概念店:Base Blu
2019/05/16 全球购物
自我评价中英文语句
2013/11/30 职场文书
关于奉献的演讲稿
2014/05/21 职场文书
见习报告格式要求
2014/11/04 职场文书
求职信内容一般写什么?
2015/03/20 职场文书
趣味运动会赞词
2015/07/22 职场文书
详细聊聊关于Mysql联合查询的那些事儿
2021/10/24 MySQL