2210月/1135
Python的字符串操作
1.python字符串通常有单引号('...')、双引号("...")、三引号("""...""")或 ('''...''')包围,三引 号包含的字符串可由多行组成,一般可表示大段的叙述性字符串。在使用时基本没有差别,但双引号和三引号("""...""")中可以包含单引号,三引号 ('''...''')可以包含双引号,而不需要转义。
2.用(\)对特殊字符转义,如(\)、(')、(")。
3.常用字符串函数
1)str.count() //返回该字符串中某个子串出现的次数
2)str.find() //返回某个子串出现在该字符串的起始位置
3)str.lower() //将该字符串全部转化为小写
4)str.upper() //转为大写
5)str.split() //分割字符串,返回字串串列表,默认以空格分割
6)len(str) //返回字符串长度
7)迭代替换指定字符串
for i, j in {'chr':'\t', ':' : '\t', '..' : '\t'}.iteritems():
text = text.replace(i, j)
print text
for i, j in {'chr':'\t', ':' : '\t', '..' : '\t'}.iteritems():
text = text.replace(i, j)
print text
例如:
>>> str = 'Hello, world'
>>> str.count('o')
>>> 2
>>> str.find('lo')
>>> 3
>>> str.lower()
>>> 'hello, world'
>>> str.upper()
>>> 'HELLO, WORLD'
>>> str.split()
>>> ['Hello,', 'world']
>>> str.split(',')
>>> ['Hello', ' world']
>>> len(str)
>>> 13
>>> str
>>> 'Hello, world'
1.复制字符串
#strcpy(sStr1,sStr2) sStr1 = 'strcpy' sStr2 = sStr1 sStr1 = 'strcpy2' print sStr2
2.连接字符串
#strcat(sStr1,sStr2) sStr1 = 'strcat' sStr2 = 'append' sStr1 += sStr2 print sStr1
3.查找字符
#strchr(sStr1,sStr2) sStr1 = 'strchr' sStr2 = 'r' nPos = sStr1.index(sStr2) print nPos
4.比较字符串
#strcmp(sStr1,sStr2) sStr1 = 'strchr' sStr2 = 'strch' print cmp(sStr1,sStr2)
5.扫描字符串是否包含指定的字符
#strspn(sStr1,sStr2) sStr1 = '12345678' sStr2 = '456' #sStr1 and chars both in sStr1 and sStr2 print len(sStr1 and sStr2)
6.字符串长度
#strlen(sStr1) sStr1 = 'strlen' print len(sStr1)
7.将字符串中的小写字符转换为大写字符
#strlwr(sStr1) sStr1 = 'JCstrlwr' sStr1 = sStr1.upper() print sStr1
8.追加指定长度的字符串
#strncat(sStr1,sStr2,n) sStr1 = '12345' sStr2 = 'abcdef' n = 3 sStr1 += sStr2[0:n] print sStr1
9.字符串指定长度比较
#strncmp(sStr1,sStr2,n) sStr1 = '12345' sStr2 = '123bc' n = 3 print cmp(sStr1[0:n],sStr2[0:n])
10.复制指定长度的字符
#strncpy(sStr1,sStr2,n) sStr1 = '' sStr2 = '12345' n = 3 sStr1 = sStr2[0:n] print sStr1
11.字符串比较,不区分大小写
#stricmp(sStr1,sStr2) sStr1 = 'abcefg' sStr2 = 'ABCEFG' print cmp(sStr1.upper(),sStr2.upper())
12.将字符串前n个字符替换为指定的字符
#strnset(sStr1,ch,n) sStr1 = '12345' ch = 'r' n = 3 sStr1 = n * ch + sStr1[3:] print sStr1
13.扫描字符串
#strpbrk(sStr1,sStr2) sStr1 = 'cekjgdklab' sStr2 = 'gka' nPos = -1 for c in sStr1: if c in sStr2: nPos = sStr1.index(c) break print nPos
14.翻转字符串
#strrev(sStr1) sStr1 = 'abcdefg' sStr1 = sStr1[::-1] print sStr1
15.查找字符串
#strstr(sStr1,sStr2) sStr1 = 'abcdefg' sStr2 = 'cde' print sStr1.find(sStr2)
16.分割字符串
#strtok(sStr1,sStr2) sStr1 = 'ab,cde,fgh,ijk' sStr2 = ',' sStr1 = sStr1[sStr1.find(sStr2) + 1:] print sStr1
2012年02月11日 16:44
Archaeologists may theorise about this and that, but it takes someone to spend a lot of time there to gain insight into how the house was used.
2012年03月04日 09:11
I’m not quite sure how to say this; you made it extemrely easy for me!
2012年03月06日 11:17
These topics are so cnofusing but this helped me get the job done.
2012年01月27日 10:32
This all said, whenever I have the energy and the opportunity to come out and meet all of
2012年01月17日 08:46
This all said, whenever I have the energy and the opportunity to come out and meet all of
2012年01月30日 05:10
You’ve relaly impressed me with that answer!
2012年03月04日 10:43
Great common sense here. Wish I’d tuhghot of that.
2012年03月06日 10:52
At last, someone comes up with the “right” anwser!
2012年08月28日 14:02
Surprisingly well-written and informative for a free online artcile.
2012年02月01日 12:53
Gosh, I wish I would have had that infrmoatoin earlier!
2012年01月15日 22:35
I must admit that this is one wonderful insight. It surely gives a company the opportunity to get in on the ground floor and also really take part in creating something special and tailored to their needs.
2012年01月30日 06:10
We defnitiely need more smart people like you around.
2012年02月01日 15:13
It’s much easier to undestrand when you put it that way!
2012年03月04日 17:32
I’m not quite sure how to say this; you made it exrtemley easy for me!
2012年03月06日 09:41
Life is short, and this arictle saved valuable time on this Earth.
2011年11月22日 22:38
To think, I was confused a mntiue ago.
2011年12月25日 13:04
Very true! Makes a chgane to see someone spell it out like that. 🙂
2011年12月27日 16:51
I caonnt tell a lie, that really helped.
2012年01月30日 11:25
What an awesome way to explain this-now I know eveyrthing!
2012年03月04日 23:05
That’s an expert answer to an interesting queisotn
2012年02月01日 16:45
Play informative for me, Mr. itrnneet writer.
2011年10月23日 02:03
学习了,感谢分享。
2011年11月22日 20:24
I was lkooing everywhere and this popped up like nothing!
2011年12月25日 17:17
Wow! That’s a raelly neat answer!
2012年01月29日 06:58
Do you have more great atrciles like this one?
2012年02月01日 14:21
This makes everything so compeltley painless.
2011年12月27日 18:47
You get a lot of respect from me for writing these hlepufl articles.
2011年10月22日 16:37
好久没来了。来看看。
2011年11月22日 22:17
I want to send you an award for most helpufl internet writer.
2011年12月25日 15:15
Whoever wrote this, you know how to make a good atirlce.
2012年01月29日 16:47
Aligrht alright alright that’s exactly what I needed!
2012年02月01日 09:21
If you’re raeidng this, you’re all set, pardner!
2012年03月05日 00:19
That’s what we’ve all been waiting for! Great potsnig!
2012年03月06日 14:36
Free knweoldge like this doesn’t just help, it promote democracy. Thank you.
2011年12月27日 17:20
Economies are in dire satrtis, but I can count on this!