Python 常用字符串操作
1、Python 字符串操作(string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、分割等)
s.strip() .lstrip() .rstrip(',') 去空格及特殊符号
复制字符串
Python
1 | #strcpy(sStr1,sStr2) |
2 | sStr1 = 'strcpy' |
3 | sStr2 = sStr1 |
4 | sStr1 = 'strcpy2' |
5 | print sStr2 |
连接字符串
Python
1 | #strcat(sStr1,sStr2) |
2 | sStr1 = 'strcat' |
3 | sStr2 = 'append' |
4 | sStr1 + = sStr2 |
5 | print sStr1 |
查找字符
< 0 未找到
Python
1 | #strchr(sStr1,sStr2) |
2 | sStr1 = 'strchr' |
3 | sStr2 = 's' |
4 | nPos = sStr1.index(sStr2) |
5 | print nPos |
比较字符串
Python
1 | #strcmp(sStr1,sStr2) |
2 | sStr1 = 'strchr' |
3 | sStr2 = 'strch' |
4 | print cmp (sStr1,sStr2) |
扫描字符串是否包含指定的字符
Python
1 | #strspn(sStr1,sStr2) |
2 | sStr1 = '12345678' |
3 | sStr2 = '456' |
4 | #sStr1 and chars both in sStr1 and sStr2 |
5 | print len (sStr1 and sStr2) |
字符串长度
Python
1 | #strlen(sStr1) |
2 | sStr1 = 'strlen' |
3 | print len (sStr1) |
将字符串中的大小写转换
Python
1 | #strlwr(sStr1) |
2 | sStr1 = 'JCstrlwr' |
3 | sStr1 = sStr1.upper() |
4 | #sStr1 = sStr1.lower() |
5 | print sStr1 |
追加指定长度的字符串
Python
1 | #strncat(sStr1,sStr2,n) |
2 | sStr1 = '12345' |
3 | sStr2 = 'abcdef' |
4 | n = 3 |
5 | sStr1 + = sStr2[ 0 :n] |
6 | print sStr1 |
字符串指定长度比较
Python
1 | #strncmp(sStr1,sStr2,n) |
2 | sStr1 = '12345' |
3 | sStr2 = '123bc' |
4 | n = 3 |
5 | print cmp (sStr1[ 0 :n],sStr2[ 0 :n]) |
复制指定长度的字符
Python
1 | #strncpy(sStr1,sStr2,n) |
2 | sStr1 = '' |
3 | sStr2 = '12345' |
4 | n = 3 |
5 | sStr1 = sStr2[ 0 :n] |
6 | print sStr1 |
将字符串前n个字符替换为指定的字符
Python
1 | #strnset(sStr1,ch,n) |
2 | sStr1 = '12345' |
3 | ch = 'r' |
4 | n = 3 |
5 | sStr1 = n * ch + sStr1[ 3 :] |
6 | print sStr1 |
扫描字符串
Python
1 | #strpbrk(sStr1,sStr2) |
2 | sStr1 = 'cekjgdklab' |
3 | sStr2 = 'gka' |
4 | nPos = - 1 |
5 | for c in sStr1: |
6 | if c in sStr2: |
7 | nPos = sStr1.index(c) |
8 | break |
9 | print nPos |
翻转字符串
Python
1 | #strrev(sStr1) |
2 | sStr1 = 'abcdefg' |
3 | sStr1 = sStr1[:: - 1 ] |
4 | print sStr1 |
查找字符串
Python
1 | #strstr(sStr1,sStr2) |
2 | sStr1 = 'abcdefg' |
3 | sStr2 = 'cde' |
4 | print sStr1.find(sStr2) |
分割字符串
Python
1 | #strtok(sStr1,sStr2) |
2 | sStr1 = 'ab,cde,fgh,ijk' |
3 | sStr2 = ',' |
4 | sStr1 = sStr1[sStr1.find(sStr2) + 1 :] |
5 | print sStr1 |
6 | 或者 |
7 | s = 'ab,cde,fgh,ijk' |
8 | print (s.split( ',' )) |
连接字符串
Python
1 | delimiter = ',' |
2 | mylist = [ 'Brazil' , 'Russia' , 'India' , 'China' ] |
3 | print delimiter.join(mylist) |
PHP 中 addslashes 的实现
Python
1 | def addslashes(s): |
2 | d = { '"' : '\\"' , " '":"\\' ", " \ 0 ":" \\\ 0 ", " \\ ":" \\\\"} |
3 | return ''.join(d.get(c, c) for c in s) |
4 |
5 | s = "John 'Johny' Doe (a.k.a. \"Super Joe\")\\\0" |
6 | print s |
7 | print addslashes(s) |
只显示字母与数字
Python
1 | def OnlyCharNum(s,oth = ''): |
2 | s2 = s.lower(); |
3 | fomart = 'abcdefghijklmnopqrstuvwxyz0123456789' |
4 | for c in s2: |
5 | if not c in fomart: |
6 | s = s.replace(c,''); |
7 | return s; |
8 |
9 | print (OnlyStr( "a000 aa-b" )) |
2、python字符串截取 替换 查找 分割的实例代码
一、截取字符串
使用 变量[头下标:尾下标],即可截取相应的字符串,其中下标是从0开始算起,可以是正数或负数,下标可以为空表示取到头或尾。
例1:字符串截取
复制代码代码示例:
str = '12345678'
print str[0:1]
>> 1 # 输出str位置0开始到位置1以前的字符
print str[1:6]
>> 23456 # 输出str位置1开始到位置6以前的字符
num = 18
str = '0000' + str(num) # 合并字符串
print str[-5:] # 输出字符串右5位
>> 00018
print str[0:1]
>> 1 # 输出str位置0开始到位置1以前的字符
print str[1:6]
>> 23456 # 输出str位置1开始到位置6以前的字符
num = 18
str = '0000' + str(num) # 合并字符串
print str[-5:] # 输出字符串右5位
>> 00018
二、替换字符串
使用 变量.replace("被替换的内容","替换后的内容"[,次数]),替换次数可以为空,即表示替换所有。要注意的是使用replace替换字符串后仅为临时变量,需重新赋值才能保存。
例2:字符串替换
复制代码代码示例:
str = 'akakak'
str = str.replace('k',' 8') # 将字符串里的k全部替换为8
print str
>> 'a8a8a8' # 输出结果
str = str.replace('k',' 8') # 将字符串里的k全部替换为8
print str
>> 'a8a8a8' # 输出结果
三、查找字符串
使用 变量.find("要查找的内容"[,开始位置,结束位置]),开始位置和结束位置,表示要查找的范围,为空则表示查找所有。
查找到后会返回位置,位置从0开始算,如果每找到则返回-1。
例3:字符串查找
复制代码代码示例:
str = 'a,hello'
print str.find('hello') # 在字符串str里查找字符串hello
>> 2 # 输出结果
print str.find('hello') # 在字符串str里查找字符串hello
>> 2 # 输出结果
四、分割字符串
使用 变量.split("分割标示符号"[分割次数]),分割次数表示分割最大次数,为空则分割所有。
例4:字符分割
复制代码代码示例:
str = 'a,b,c,d'
strlist = str.split(',') # 用逗号分割str字符串,并保存到列表
for value in strlist: # 循环输出列表值
print value
>> a # 输出结果
>> b
>> c
>> d
以上就是本节
python教程
的内容,通过四个例子,讲解了
python
中字符串的截取、替换、查找与分割操作,希望对大家有所帮助。
strlist = str.split(',') # 用逗号分割str字符串,并保存到列表
for value in strlist: # 循环输出列表值
print value
>> a # 输出结果
>> b
>> c
>> d
任何一门编程语言中,对字符串的操作,都是个不变的话题,很常用,建议大家好好研究下。