Python字符串操作方法大全
1、去空格及特殊符号
2、复制字符串
sStr1="strcpy"
sStr2=sStr1
sStr1="strcpy2"
printsStr2
3、连接字符串
sStr1="strcat"
sStr2="append"
sStr1+=sStr2
printsStr1
4、查找字符
#<0为未找到
sStr1="strchr"
sStr2="s"
nPos=sStr1.index(sStr2)
printnPos
5、比较字符串
sStr1="strchr"
sStr2="strch"
printcmp(sStr1,sStr2)
6、扫描字符串是否包含指定的字符
sStr1="12345678"
sStr2="456"
#sStr1andcharsbothinsStr1andsStr2
printlen(sStr1andsStr2)
7、字符串长度
sStr1="strlen"
printlen(sStr1)
8、将字符串中的大小写转换
S.upper()#大写
S.swapcase()#大小写互换
S.capitalize()#首字母大写
String.capwords(S)#这是模块中的方法。它把S用split()函数分开,然后用capitalize()把首字母变成大写,最后用join()合并到一起
#实例:
#strlwr(sStr1)
sStr1="JCstrlwr"
sStr1=sStr1.upper()
#sStr1=sStr1.lower()
printsStr1
这里再强调一次,字符串对象是不可改变的,也就是说在python创建一个字符串后,你不能把这个字符中的某一部分改变。任何上面的函数改变了字符串后,都会返回一个新的字符串,原字串并没有变。其实这也是有变通的办法的,可以用S=list(S)这个函数把S变为由单个字符为成员的list,这样的话就可以使用S[3]="a"的方式改变值,然后再使用S="".join(S)还原成字符串
9、追加指定长度的字符串
sStr1="12345"
sStr2="abcdef"
n=3
sStr1+=sStr2[0:n]
printsStr1
10、字符串指定长度比较
sStr1="12345"
sStr2="123bc"
n=3
printcmp(sStr1[0:n],sStr2[0:n])
11、复制指定长度的字符
sStr1=""
sStr2="12345"
n=3
sStr1=sStr2[0:n]
printsStr1
12、将字符串前n个字符替换为指定的字符
sStr1="12345"
ch="r"
n=3
sStr1=n*ch+sStr1[3:]
printsStr1
13、扫描字符串
sStr1="cekjgdklab"
sStr2="gka"
nPos=-1
forcinsStr1:
ifcinsStr2:
nPos=sStr1.index(c)
break
printnPos
14、翻转字符串
sStr1="abcdefg"
sStr1=sStr1[::-1]
printsStr1
15、查找字符串
sStr1="abcdefg"
sStr2="cde"
printsStr1.find(sStr2)
16、分割字符串
sStr1="ab,cde,fgh,ijk"
sStr2=","
sStr1=sStr1[sStr1.find(sStr2)+1:]
printsStr1
#或者
s="ab,cde,fgh,ijk"
print(s.split(","))
17、连接字符串
mylist=["Brazil","Russia","India","China"]
printdelimiter.join(mylist)
18、PHP中addslashes的实现
d={""":"\\"",""":"\\"","\0":"\\\0","\\":"\\\\"}
return"".join(d.get(c,c)forcins)
s="John"Johny"Doe(a.k.a.\"SuperJoe\")\\\0"
prints
printaddslashes(s)
19、只显示字母与数字
s2=s.lower();
fomart="abcdefghijklmnopqrstuvwxyz0123456789"
forcins2:
ifnotcinfomart:
s=s.replace(c,"");
returns;
print(OnlyStr("a000aa-b"))
20、截取字符串
printstr[0:3]#截取第一位到第三位的字符
printstr[:]#截取字符串的全部字符
printstr[6:]#截取第七个字符到结尾
printstr[:-3]#截取从头开始到倒数第三个字符之前
printstr[2]#截取第三个字符
printstr[-1]#截取倒数第一个字符
printstr[::-1]#创造一个与原字符串顺序相反的字符串
printstr[-3:-1]#截取倒数第三位与倒数第一位之前的字符
printstr[-3:]#截取倒数第三位到结尾
printstr[:-5:-3]#逆序截取,具体啥意思没搞明白?
21、字符串在输出时的对齐
#输出width个字符,S左对齐,不足部分用fillchar填充,默认的为空格。
S.rjust(width,[fillchar])#右对齐
S.center(width,[fillchar])#中间对齐
S.zfill(width)#把S变成width长,并在右对齐,不足部分用0补足
22、字符串中的搜索和替换
#返回S中出现substr的第一个字母的标号,如果S中没有substr则返回-1。start和end作用就相当于在S[start:end]中搜索
S.index(substr,[start,[end]])
#与find()相同,只是在S中没有substr时,会返回一个运行时错误
S.rfind(substr,[start,[end]])
#返回S中最后出现的substr的第一个字母的标号,如果S中没有substr则返回-1,也就是说从右边算起的第一次出现的substr的首字母标号
S.rindex(substr,[start,[end]])
S.count(substr,[start,[end]])#计算substr在S中出现的次数
S.replace(oldstr,newstr,[count])
#把S中的oldstar替换为newstr,count为替换次数。这是替换的通用形式,还有一些函数进行特殊字符的替换
S.strip([chars])
#把S中前后chars中有的字符全部去掉,可以理解为把S前后chars替换为None
S.lstrip([chars])
S.rstrip([chars])
S.expandtabs([tabsize])
#把S中的tab字符替换没空格,每个tab替换为tabsize个空格,默认是8个
23、字符串的分割和组合
#以sep为分隔符,把S分成一个list。maxsplit表示分割的次数。默认的分割符为空白字符
S.rsplit([sep,[maxsplit]])
S.splitlines([keepends])
#把S按照行分割符分为一个list,keepends是一个bool值,如果为真每行后而会保留行分割符。
S.join(seq)#把seq代表的序列──字符串序列,用S连接起来
24、字符串的mapping,这一功能包含两个函数
#返回一个256个字符组成的翻译表,其中from中的字符被一一对应地转换成to,所以from和to必须是等长的。
S.translate(table[,deletechars])
#使用上面的函数产后的翻译表,把S进行翻译,并把deletechars中有的字符删掉。需要注意的是,如果S为unicode字符串,那么就不支持deletechars参数,可以使用把某个字符翻译为None的方式实现相同的功能。此外还可以使用codecs模块的功能来创建更加功能强大的翻译表。
25、字符串还有一对编码和解码的函数
#其中encoding可以有多种值,比如gb2312gbkgb18030bz2zlibbig5bzse64等都支持。errors默认值为"strict",意思是UnicodeError。可能的值还有"ignore","replace","xmlcharrefreplace","backslashreplace"和所有的通过codecs.register_error注册的值。这一部分内容涉及codecs模块,不是特明白
S.decode([encoding,[errors]])
26、字符串的测试、判断函数,这一类函数在string模块中没有,这些函数返回的都是bool值
#是否以prefix开头
S.endswith(suffix[,start[,end]])
#以suffix结尾
S.isalnum()
#是否全是字母和数字,并至少有一个字符
S.isalpha()#是否全是字母,并至少有一个字符
S.isdigit()#是否全是数字,并至少有一个字符
S.isspace()#是否全是空白字符,并至少有一个字符
S.islower()#S中的字母是否全是小写
S.isupper()#S中的字母是否便是大写
S.istitle()#S是否是首字母大写的
27、字符串类型转换函数,这几个函数只在string模块中有
#base默认为10,如果为0,那么s就可以是012或0x23这种形式的字符串,如果是16那么s就只能是0x23或0X12这种形式的字符串
string.atol(s[,base])#转成long
string.atof(s[,base])#转成float
相关文章