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

Python String的一些方法

时间:2015-01-20 22:02:16      阅读:251      评论:0      收藏:0      [点我收藏+]

标签:

0x01 count

str.count(sub[, start[, end]])

用来统计字符串中某个字符的个数

1 text = "abcabcabc"
2 text.count("a")
3 #output: 3
4 text.count("a", 0)
5 #output: 3
6 text.count("a", 2, 4)
7 #output: 1

  

0x02 find

1 str.find(sub[, start[, end]])

查找字符串中的某个字符或者字符串,并返回index

1 text = "abcabcabc"
2 text.find("a")
3 #output: 0
4 text.find("a", 1)
5 #output: 3
6 text.find("a", 1, 2)
7 #output: -1
8 text.find("ab")
9 #output: 0

 

0x03 index

str.index(sub[, start[, end]])

和find的作用相同,但是找不到下标会返回ValueError

 

0x04 join

str.join(iterable)

以str作为分隔符来连接字符

1 >>> str = ["This","is","Mr.xt‘s", "blog"]
2 >>> ‘‘.join(str)
3 "ThisisMr.xt‘sblog"
4 >>>  .join(str)
5 "This is Mr.xt‘s blog"
6 >>> ,.join(str)
7 "This,is,Mr.xt‘s,blog"

 

0x05 split

1 str.split(sep=None, maxsplit=-1)

用来分割字符串,sep为分割符,第二个为最大分割次数

 1 >>> 1,2,3.split(,)
 2 [1, 2, 3]
 3 >>> 1,2,3.split(,, maxsplit=1)
 4 [1, 2,3]
 5 >>> 1,2,,3,.split(,)
 6 [1, 2, ‘‘, 3, ‘‘]
 7 
 8 >>> 1 2 3.split()
 9 [1, 2, 3]
10 >>> 1 2 3.split(maxsplit=1)
11 [1, 2 3]
12 >>>    1   2   3   .split()
13 [1, 2, 3]

 

0x06 lower, upper

str.lower()把大写变为小写

str.upper()把小写变为大写

 

0x07 lstrip, rstrip, strip

str.strip([chars])

lstrip:把左边的字符去掉,rstrip:把右边的字符去掉,strip把子串中存在的字符去掉

#strip
>>>    spacious   .strip()
spacious
>>> www.example.com.strip(cmowz.)
example

#lstrip
>>>    spacious   .lstrip()
spacious   
>>> www.example.com.lstrip(cmowz.)
example.com

#rstrip
>>>    spacious   .rstrip()
   spacious
>>> mississippi.rstrip(ipz)
mississ

 

0x08 maketrans & translate

str.maketrans(x[, y[, z]])
str.translate(map[, delchars])

makestrans()创建对照表,然后使用translate函数根据对照表来把str中的字符进行相应的替换

对于str.translate,简单说就是删除在str中的delchars,然后再按照map里面的字符映射关系映射

>>> s = abcdefg-123456
#这里是把abc替换成ABC
>>> table = string.maketrans(abc, ABC)
>>> s.translate(table)
ABCdefg-123456
#这里是先把ab123删除掉,然后再进行替换
>>> s.translate(table, ab123)
Cdefg-456
>>> 

这里还有一个例子,pythonchallenge第一题

 1 #!/usr/bin/env python
 2 
 3 import string
 4 
 5 tips = """
 6 g fmnc wms bgblr rpylqjyrc gr zw fylb. 
 7 rfyrq ufyr amknsrcpq ypc dmp. bmgle gr gl zw 
 8 fylb gq glcddgagclr ylb rfyr‘q ufw rfgq rcvr gq qm jmle. 
 9 sqgle qrpgle. kyicrpylq() gq pcamkkclbcb. lmu ynnjw ml rfc spj.
10 """
11 alpha = string.lowercase
12 #这里对字母表进行映射,即把a替换成c
13 #abcdefghijklmnopqrstuvwxyz
14 #cdefghijklmnopqrstuvwxyzab
15 table = string.maketrans(alpha, alpha[2:] + alpha[:2])
16 
17 print tips.translate(table)
18 #根据tips就可以得出结果
19 print "map".translate(table)

 

0x09 replace

str.replace(old, new[, count])

这个函数用来替换字符串,第三个参数可选,默认是全部替换,返回一个修改后的字符串,原字符串不变

1 >>> import string
2 >>> str = "hello hello"
3 >>> str.replace("hello", "hi")
4 hi hi
5 >>> str.replace("hello", "hi", 1)
6 hi hello
7 >>> print str
8 hello hello

 

0x10 partition

str.partition(sep)

这个方法也是用来分割字符串,和split不一样的是,它固定返回一个3元tuple,第一个是分隔符左边的内容,第二个是分隔符,第三个是分隔符右边的内容

1 >>> str = http://xxx.com/sss
2 >>> str.partition("://")
3 (http, ://, xxx.com/sss)
4 >>> str.split("://")
5 [http, xxx.com/sss]

partition其实是为了替换find,index而产生的,多数情况下需要用find找到一个位置,然后再进行分割,现在可以直接使用partition来进行分割

 1 #!/usr/bin/env python
 2 # coding=utf-8
 3 
 4 import string
 5 str = "http://www.baidu.com"
 6 
 7 pos = str.find("://")
 8 if pos:
 9     print str[:pos], str[pos+3:]
10 
11 left, sep, right = str.partition("://")
12 print left, sep, right

 

0x11 判断字符串的一些方法

 1 s为字符串 
 2 s.isalnum() 所有字符都是数字或者字母 
 3 s.isalpha() 所有字符都是字母 
 4 s.isdigit() 所有字符都是数字 
 5 s.islower() 所有字符都是小写 
 6 s.isupper() 所有字符都是大写 
 7 s.istitle() 所有单词都是首字母大写,像标题 
 8 s.isspace() 所有字符都是空白字符、 、、 
 9  
10 判断是整数还是浮点数 
11 a=123 
12 b=123.123 
13  
14 >>>isinstance(a,int) 
15 True 
16 >>>isinstance(b,float) 
17 True 
18 >>>isinstance(b,int) 
19 False
20 
21 出处
22 http://wangwei007.blog.51cto.com/68019/1108673

 

Python String的一些方法

标签:

原文地址:http://www.cnblogs.com/hackxt/p/4237240.html

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