码迷,mamicode.com
首页 > 编程语言 > 详细

python 字符串常用操作方法

时间:2019-12-09 12:11:48      阅读:91      评论:0      收藏:0      [点我收藏+]

标签:影响   方法   ash   字符串统计   图片   elf   start   替换   and   

python 字符串常用操作方法

python 字符串操作常用操作,如字符串的替换、删除、截取、赋值、连接、比较、查找、分割等

1、去除空格

str.strip():删除字符串两边的指定字符,括号的写入指定字符,默认为空格

1 a=‘    hello    ‘
2 b=a.strip()
3 print(b)

输出:hello

str.lstrip():删除字符串左边的指定字符,括号的写入指定字符,默认空格

1 >>> a=‘   hello   ‘
2 >>> b=a.lstrip()
3 >>> print(b)
4 hello      #右边空格可能看的不是很明显

 

str.rstrip():删除字符串右边的指定字符,括号的写入指定字符,默认空格

1 >>> a=‘   hello   ‘
2 >>> b=a.rstrip()
3 >>> print(b)
4    hello

 

2、复制字符串

技术图片
1 >>> a=‘hello world‘
2 >>> b=a
3 >>> print(a,b)
4 hello world hello world

 

3、连接字符串

技术图片
 1 +:连接2个字符串
 2 >>> a=‘hello ‘
 3 >>> b=‘world‘
 4 >>> print(a+b)
 5 hello world
 6 注:此方法又称为 "万恶的加号",因为使用加号连接2个字符串会调用静态函数string_concat(register PyStringObject *a ,register PyObject * b),在这个函数中会开辟一块大小是a+b的内存的和的存储单元,然后将a,b字符串拷贝进去。如果是n个字符串相连  那么会开辟n-1次内存,是非常耗费资源的。
 7  
 8 str.join:连接2个字符串,可指定连接符号(关于join,读者可以自己去查看一些相关资料)
 9 #join
 10 li=["alex","eric"]
 11 s="******".join(li)
 12 print(s)
 13 输出结果  alex******eric
技术图片

4、查找字符串

技术图片
1 #str.index 和str.find 功能相同,区别在于find()查找失败会返回-1,不会影响程序运行。一般用find!=-1或者find>-1来作为判断条件。
 2 str.index:检测字符串中是否包含子字符串str,可指定范围
 3  a=‘hello world‘
 4 >>> a.index(‘l‘)
 5 2
 6 >>> a.index(‘x‘)
 7 Traceback (most recent call last):
 8   File "<pyshell#40>", line 1, in <module>
 9     a.index(‘x‘)
10 ValueError: substring not found
11 str.find:检测字符串中是否包含子字符串str,可指定范围
12 
13 >>> a=‘hello world‘
14 >>> a.find(‘l‘)
15 2
16 >>> a.find(‘x‘)
17 -1
技术图片

5.比较字符串

str.cmp:比较两个对象,并根据结果返回一个整数。X< Y,返回值是负数 ,X>Y 返回的值为正数。
#python3已经没有该方法,官方文档是这么写的:
The cmp() function should be treated as gone, and the __cmp__() special method is no longer supported. Use __lt__() for sorting, __eq__() with __hash__(), and other rich comparisons as needed. (If you really need the cmp() functionality, you could use the expression (a > b) - (a < b) as the equivalent for cmp(a, b).)
大意就是cmp()函数已经“离开”了,如果你真的需要cmp()函数,你可以用表达式(a > b) - (a < b)代替cmp(a,b)

技术图片
1 >>> a=100
2 >>> b=80
3 >>> cmp(a,b)
4 1

6.是否包含指定字符串

技术图片
技术图片
1 in |not in 
2 >>> a=‘hello world‘
3 >>> ‘hello‘ in a
4 True
5 >>> ‘123‘ not in a
6 True
技术图片

7.字符串长度

技术图片
1 str.len
2 >>>a=‘hello world‘
3 >>>print(len(a))
4 11

8、字符串中字母大小写转换

技术图片
技术图片
 1 S.lower() #转换为小写 
 2 >>> a=‘Hello World‘
 3 >>> print(a.lower())
 4 hello world
 5 
 6 S.upper() #转换为大写 
 7 >>> a=‘Hello World‘
 8 >>> print(a.upper())
 9 HELLO WORLD
10 
11 
12 S.swapcase() #大小写互换 
13 >>> a=‘Hello World‘
14 >>> print(a.swapcase())
15 hELLO wORLD
16 
17 S.capitalize() #首字母大写 
18 >>> a=‘Hello World‘
19 >>> print(a.capitalize())
20 Hello world
技术图片

9.将字符串放入中心位置可指定长度以及位置两边字符

技术图片
1 1 str.center()
2 2 >>> a=‘hello world‘
3 3 >>> print(a.center(40,‘*‘))
4 4 **************hello world***************

10.字符串统计

技术图片
>>> a=‘hello world‘
>>> print(a.count(‘l‘))
3

11.字符串的测试、判断函数,这一类函数在string模块中没有,这些函数返回的都是bool值 

技术图片
技术图片
1 S.startswith(prefix[,start[,end]])  #是否以prefix开头 
2 S.endswith(suffix[,start[,end]])     #以suffix结尾 
3 S.isalnum()                             #是否全是字母和数字,并至少有一个字符 
4 S.isalpha()                          #是否全是字母,并至少有一个字符 
5 S.isdigit()                          #是否全是数字,并至少有一个字符 
6 S.isspace()                          #是否全是空白字符,并至少有一个字符 
7 S.islower()                          #S中的字母是否全是小写 
8 S.isupper()                          #S中的字母是否便是大写 
9 S.istitle()                          #S是否是首字母大写的
技术图片

12.字符串切片

技术图片
技术图片
 1 str = ‘0123456789′
 2 print str[0:3] #截取第一位到第三位的字符
 3 print str[:] #截取字符串的全部字符
 4 print str[6:] #截取第七个字符到结尾
 5 print str[:-3] #截取从头开始到倒数第三个字符之前
 6 print str[2] #截取第三个字符
 7 print str[-1] #截取倒数第一个字符
 8 print str[::-1] #创造一个与原字符串顺序相反的字符串
 9 print str[-3:-1] #截取倒数第三位与倒数第一位之前的字符
10 print str[-3:] #截取倒数第三位到结尾
11 print str[:-5:-3] #逆序截取,截取倒数第五位数与倒数第三位数之间
技术图片

 13、分割,前中后三部分

技术图片 View Code

14、替换

技术图片 View Code

 15、按输入字符切割

技术图片 View Code

16、根据换行执行分割

技术图片 View Code

17、大写变小写,小写变大写

def   swapcase(self)

技术图片 View Code

18、变成标题

def title(self)

技术图片 View Code

19、方返回指定长度的字符串,原字符串右对齐,前面填充0

技术图片
1 s="alEx Alec"
2 ret=s.zfill(11)
3 print(ret)
4 #输出结果    00alEx Alec

 转载自:https://www.cnblogs.com/zyqy/p/9240396.html

 

python 字符串常用操作方法

标签:影响   方法   ash   字符串统计   图片   elf   start   替换   and   

原文地址:https://www.cnblogs.com/aliceyang/p/12009973.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!