Python 字符串操作

Python 字符串操作(string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、分割等)

去空格及特殊符号  
s.strip().lstrip().rstrip(',')   
 
复制字符串  
#strcpy(sStr1,sStr)   
sStr= 'strcpy'   
sStr = sStr  
sStr= 'strcpy'   
print sStr   
 
连接字符串  
#strcat(sStr1,sStr)   
sStr= 'strcat'   
sStr = 'append'   
sStr+= sStr   
print sStr  
 
查找字符  
#strchr(sStr1,sStr)   
sStr= 'strchr'   
sStr = 's'   
nPos = sStr1.index(sStr)   
print nPos   
 
比较字符串 : 0相等,-1不等
#str cmp(sStr1,sStr)   
sStr= 'strchr'   
sStr = 'strch'   
print cmp(sStr1,sStr)  
 
扫描字符串是否包含指定的字符  
#strspn(sStr1,sStr)   
sStr= '1345678'   
sStr = '456'   
#sStrand chars both in sStrand sStr   
print len(sStrand sStr)  
 
字符串长度  
#strlen(sStr1)   
sStr= 'strlen'   
print len(sStr1)   
 
将字符串中的大小写转换  
#strlwr(sStr1)   
sStr= 'JCstrlwr'   
sStr= sStr1.upper()   
#sStr= sStr1.lower()   
print sStr  
 
追加指定长度的字符串  
#strncat(sStr1,sStr,n)   
sStr= '1345'   
sStr = 'abcdef'   
n = 3 
sStr+= sStr[0:n]   
print sStr  
 
字符串指定长度比较  
#strncmp(sStr1,sStr,n)   
sStr= '1345'   
sStr = '13bc'   
n = 3 
print cmp(sStr1[0:n],sStr[0:n])   
 
复制指定长度的字符  
#strncpy(sStr1,sStr,n)   
sStr= ''   
sStr = '1345'   
n = 3 
sStr= sStr[0:n]   
print sStr  
 
将字符串前n个字符替换为指定的字符  
#strnset(sStr1,ch,n)   
sStr= '1345'   
ch = 'r'   
n = 3 
sStr= n * ch + sStr1[3:]   
print sStr  
 
扫描字符串  
#strpbrk(sStr1,sStr)   
sStr= 'cekjgdklab'   
sStr = 'gka'   
nPos = -1 
for c in sStr1:   
     if c in sStr:   
         nPos = sStr1.index(c)   
         break   
print nPos   
 
翻转字符串  
#strrev(sStr1)   
sStr= 'abcdefg'   
sStr= sStr1[::-1]   
print sStr  
 
查找字符串  
#strstr(sStr1,sStr)   
sStr= 'abcdefg'   
sStr = 'cde'   
print sStr1.find(sStr)   
 
分割字符串  
#strtok(sStr1,sStr)   
sStr= 'ab,cde,fgh,ijk'   
sStr = ','   
sStr= sStr1[sStr1.find(sStr) + 1:]   
print sStr  
 或者   
s = 'ab,cde,fgh,ijk'   
print(s.split(','))   
 
连接字符串  
delimiter = ','   
mylist = ['Brazil', 'Russia', 'India', 'China']   
print delimiter.join(mylist)   
PHP 中 addslashes 的实现  
def addslashes(s):   
     d = {'"':'\\"', "'":"\\'", "\0":"\\\0", "\\":"\\\\"}   
    return ''.join(d.get(c, c) for c in s)   
s = "John 'Johny' Doe (a.k.a. \"Super Joe\")\\\0"   
print s   
print addslashes(s)   
 
只显示字母与数字  
def OnlyCharNum(s,oth=''):   
     s = s.lower();   
    fomart = 'abcdefghijklmnopqrstuvwxyz013456789'   
    for c in s:   
        if not c in fomart:   
             s = s.replace(c,'');   
     return s;   
print(OnlyStr("a000 aa-b")) 


正则表达式,re模块
  import re
  常用函数:
  1)compile():   //将正则表达式字符串编译成正则re对象
  2)search()     //在目标字符串中匹配正则表达式
  3)match()      //从目标字符串第一个字符开始匹配正则表达
  search和match匹配成功返回MatchObject对象,失败返回None
 >>> p = re.compile('abc')
 >>> p.search('zabcy')
 <_sre.SRE_Match object at 0x2a95659030>
 不先编译成正则re对象也是可以的,上例也可以为:
 >>> re.search('abc','xabcy')
 <_sre.SRE_Match object at 0x2a95659098>
 
 compile还可加些标志位,例如:re.I(re.IGNORECASE)忽略大小写
 >>> p = re.compile('abc')
 >>> print p.search('xAbCy')
 None
 >>> p = re.compile('abc',re.I)
 >>> print p.search('xAbCy')
 <_sre.SRE_Match object at 0x2a9565a098>
 
 
 search和match区别见下例:
 >>> p = re.compile('abc')
 >>> print p.search('xxxabcyyy')
<_sre.SRE_Match object at 0x2a95659030>
 >>> print p.match('xxxabcyyy')
 None
 >>> print p.match('abcyyy')
 <_sre.SRE_Match object at 0x2a95659098>


请使用浏览器的分享功能分享到微信等