值得收藏的Python字符串操作大总结!

Python (197) 2023-07-12 00:09:57

今天给大家总结一下字符串的所有操作,string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、分割等。

去空格及特殊符号

s.strip().lstrip().rstrip(',')

复制字符串

#strcpy(sStr1,sStr2)
sStr1='strcpy'
sStr2=sStr1
sStr1='strcpy2'
printsStr2

连接字符串

#strcat(sStr1,sStr2)
sStr1='strcat'
sStr2='append'
sStr1+=sStr2
printsStr1

查找字符

#strchr(sStr1,sStr2)
#<0为未找到
sStr1='strchr'
sStr2='s'
nPos=sStr1.index(sStr2)
printnPos

比较字符串

#strcmp(sStr1,sStr2)
sStr1='strchr'
sStr2='strch'
printcmp(sStr1,sStr2)

扫描字符串是否包含指定的字符

#strspn(sStr1,sStr2)
sStr1='12345678'
sStr2='456'
#sStr1andcharsbothinsStr1andsStr2
printlen(sStr1andsStr2)

字符串长度

#strlen(sStr1)
sStr1='strlen'
printlen(sStr1)

将字符串中的大小写转换

#strlwr(sStr1)
sStr1='JCstrlwr'
sStr1=sStr1.upper()
#sStr1=sStr1.lower()
printsStr1

追加指定长度的字符串

#strncat(sStr1,sStr2,n)
sStr1='12345'
sStr2='abcdef'
n=3
sStr1+=sStr2[0:n]
printsStr1

字符串指定长度比较

#strncmp(sStr1,sStr2,n)
sStr1='12345'
sStr2='123bc'
n=3
printcmp(sStr1[0:n],sStr2[0:n])

复制指定长度的字符

#strncpy(sStr1,sStr2,n)
sStr1=''
sStr2='12345'
n=3
sStr1=sStr2[0:n]
printsStr1

将字符串前n个字符替换为指定的字符

#strnset(sStr1,ch,n)
sStr1='12345'
ch='r'
n=3
sStr1=n*ch+sStr1[3:]
printsStr1

扫描字符串

#strpbrk(sStr1,sStr2)
sStr1='cekjgdklab'
sStr2='gka'
nPos=-1
forcinsStr1:
ifcinsStr2:
nPos=sStr1.index(c)
break
printnPos

翻转字符串

#strrev(sStr1)
sStr1='abcdefg'
sStr1=sStr1[::-1]
printsStr1

查找字符串

#strstr(sStr1,sStr2)
sStr1='abcdefg'
sStr2='cde'
printsStr1.find(sStr2)

分割字符串

#strtok(sStr1,sStr2)
sStr1='ab,cde,fgh,ijk'
sStr2=','
sStr1=sStr1[sStr1.find(sStr2)+1:]
printsStr1
#或者
s='ab,cde,fgh,ijk'
print(s.split(','))

连接字符串

delimiter=','
mylist=['Brazil','Russia','India','China']
printdelimiter.join(mylist)
PHP中addslashes的实现
defaddslashes(s):
d={'"':'\\"',"'":"\\'","\0":"\\\0","\\":"\\\\"}
return''.join(d.get(c,c)forcins)
s="John'Johny'Doe(a.k.a.\"SuperJoe\")\\\0"
prints
printaddslashes(s)

只显示字母与数字

defOnlyCharNum(s,oth=''):
s2=s.lower();
fomart='abcdefghijklmnopqrstuvwxyz0123456789'
forcins2:
ifnotcinfomart:
s=s.replace(c,'');
returns;
print(OnlyStr("a000aa-b"))

截取字符串

str=’0123456789′
printstr[0:3]#截取第一位到第三位的字符
printstr[:]#截取字符串的全部字符
printstr[6:]#截取第七个字符到结尾
printstr[:-3]#截取从头开始到倒数第三个字符之前
printstr[2]#截取第三个字符
printstr[-1]#截取倒数第一个字符
printstr[::-1]#创造一个与原字符串顺序相反的字符串
printstr[-3:-1]#截取倒数第三位与倒数第一位之前的字符
printstr[-3:]#截取倒数第三位到结尾
THE END

发表回复