示例:

替换字符串开头和结尾处的空格

1. [代码][Python]代码     跳至 [1] [全屏预览]

01 #
-*- coding: utf-8 -*-
02  
03 #替换字符串开头的空格
04 i=0
05 while s[i].isspace():
06     i=i+1
07 else:
08     ss=s[0:i].replace('
'
,'*')
09     s=ss+s[i:]
10     print s
11  
12 #替换字符串结尾的空格
13 i=-1
14 while  s[i].isspace():
15     i=i-1
16 else:
17     ss=s[i+1:].replace('
'
,'*')#list
用负数进行索引时,[a:-1],-1仍然是取不到的
18     s=s[:i+1]+ss
19     print s
  • 1 #
    -* -coding:UTF-8 -*-
    2 = '  
    test string   '
    3 print (len(s) - len(s.lstrip()))*'*' + s.strip() + (len(s) -len(s.rstrip()))*'*'
    4  
    5 ***test
    string
    ***

转自:http://www.oschina.net/code/snippet_121336_3349

strip

函数原型

声明:s为字符串,rm为要删除的字符序列

s.strip(rm)        删除s字符串中开头、结尾处,位于 rm删除序列的字符

s.lstrip(rm)       删除s字符串中开头处,位于 rm删除序列的字符

s.rstrip(rm)      删除s字符串中结尾处,位于 rm删除序列的字符

注意:

1. 当rm为空时,默认删除空白符(包括'\n', '\r',  '\t',  ' ')

例如:

复制代码代码如下:


>>> a = '     123'

>>> a.strip()

'123'

>>> a='\t\tabc'

'abc'

>>> a = 'sdff\r\n'

>>> a.strip()

'sdff'

2.这里的rm删除序列是只要边(开头或结尾)上的字符在删除序列内,就删除掉。

例如 :

复制代码代码如下:


>>> a = '123abc'

>>> a.strip('21')

'3abc'   结果是一样的

>>> a.strip('12')

'3abc'

Python中的strip用于去除字符串的首尾字符,同理,lstrip用于去除左边的字符,rstrip用于去除右边的字符。

这三个函数都可传入一个参数,指定要去除的首尾字符。

需要注意的是,传入的是一个字符数组,编译器去除两端所有相应的字符,直到没有匹配的字符,比如:

theString= 'saaaay
yes no yaaaass'
print theString.strip('say')

theString依次被去除首尾在['s','a','y']数组内的字符,直到字符在不数组内。所以,输出的结果为: 

yes no 

比较简单吧,lstrip和rstrip原理是一样的。

注意:当没有传入参数时,是默认去除首尾空格的。

theString= 'saaaay
yes no yaaaass'
print theString.strip('say')
print theString.strip('say
'
)#say后面有空格
print theString.lstrip('say')
print theString.rstrip('say')

运行结果:

yes no 

es no 

yes no yaaaass 

saaaay yes no


最新文章

  1. leetcode 204
  2. ERROR 1872 (HY000): Slave failed to initialize relay log info structure from the repository
  3. Nginx-->基础-->理论-->nginx进程模型
  4. [BZOJ 3143][HNOI2013]游走(数学期望)
  5. 读写分离提高 SQL Server 并发性能
  6. C# 父子类_实例_静态成员变量_构造函数的执行顺序
  7. 创建和分析excel文件
  8. 2077 汉诺塔IV
  9. 在ASP.NET MVC中使用 Bootstrap table插件
  10. C++ protected访问权限思考
  11. stm32cubemx学习要点记录
  12. CentOS搭建SVN服务器,并通过Apache HTTP方式访问
  13. js: 字符集
  14. 吴裕雄 python 机器学习-Logistic(1)
  15. git的命令详解
  16. python常用模块之string
  17. python基础知识回顾之元组
  18. LeetCode 637. Average of Levels in Binary Tree二叉树的层平均值 (C++)
  19. Python(IO model)
  20. 1U是什么意思

热门文章

  1. oracle中触发器的讲解
  2. robot framework -记录错误
  3. [转]new一个Object对象占用多少内存?
  4. hdu 3342 Legal or Not(拓扑排序)
  5. Git学习 -- 标签管理
  6. 项目中常用js方法整理common.js
  7. 关于SVN 提交一半卡死的问题
  8. javascript 中{}和[] 的理解
  9. Android NDK 下的宽字符编码转换及icu库的使用(转)
  10. Bootstrap 容器(Container)及网格说明-(二)