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

一、去空格及特殊符号

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

二、复制字符串

?
1
2
3
4
5
#strcpy(sStr1,sStr2)
sStr1  =  'strcpy'
sStr2  =  sStr1
sStr1  =  'strcpy2'
print (sStr2)

三、连接字符串

?
1
2
3
4
5
#strcat(sStr1,sStr2)
sStr1  =  'strcat'
sStr2  =  'append'
sStr1  + =  sStr2
print (sStr1)

四、查找字符

?
1
2
3
4
5
6
#strchr(sStr1,sStr2)
# < 0 为未找到
sStr1  =  'strchr'
sStr2  =  's'
nPos  =  sStr1.index(sStr2)
print (nPos)

五、比较字符串

?
1
2
3
4
#strcmp(sStr1,sStr2)
sStr1  =  'strchr'
sStr2  =  'strch'
print ( cmp (sStr1,sStr2))

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

?
1
2
3
4
5
#strspn(sStr1,sStr2)
sStr1  =  '12345678'
sStr2  =  '456'
#sStr1 and chars both in sStr1 and sStr2
print ( len (sStr1  and  sStr2))

七、字符串长度

?
1
2
3
#strlen(sStr1)
sStr1  =  'strlen'
print ( len (sStr1))

八、将字符串中的大小写转换

?
1
2
3
4
5
#strlwr(sStr1)
sStr1  =  'JCstrlwr'
sStr1  =  sStr1.upper()
#sStr1 = sStr1.lower()
print (sStr1)

九、追加指定长度的字符串

?
1
2
3
4
5
6
#strncat(sStr1,sStr2,n)
sStr1  =  '12345'
sStr2  =  'abcdef'
=  3
sStr1  + =  sStr2[ 0 :n]
print (sStr1)

十、字符串指定长度比较

?
1
2
3
4
#strncmp(sStr1,sStr2,n)
sStr1  =  '12345'
sStr2  =  '123bc'
=  3

print( cmp(sStr1[0:n],sStr2[0:n]))

十一、复制指定长度的字符

?
1
2
3
4
5
6
#strncpy(sStr1,sStr2,n)
sStr1  =  ''
sStr2  =  '12345'
=  3
sStr1  =  sStr2[ 0 :n]
print (sStr1)

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

?
1
2
3
4
5
6
#strnset(sStr1,ch,n)
sStr1  =  '12345'
ch  =  'r'
=  3
sStr1  =  *  ch  +  sStr1[ 3 :]
print (sStr1)

十三、扫描字符串

?
1
2
3
4
5
6
7
8
9
#strpbrk(sStr1,sStr2)
sStr1  =  'cekjgdklab'
sStr2  =  'gka'
nPos  =  - 1
for  in  sStr1:
     if  in  sStr2:
         nPos  =  sStr1.index(c)
         break
print ( nPos)

十四、翻转字符串

?
1
2
3
4
#strrev(sStr1)
sStr1  =  'abcdefg'
sStr1  =  sStr1[:: - 1 ]
print (sStr1)

十五、查找字符串

?
1
2
3
4
#strstr(sStr1,sStr2)
sStr1  =  'abcdefg'
sStr2  =  'cde'
print (sStr1.find(sStr2))

十六、分割字符串

?
1
2
3
4
5
6
7
8
#strtok(sStr1,sStr2)
sStr1  =  'ab,cde,fgh,ijk'
sStr2  =  ','
sStr1  =  sStr1[sStr1.find(sStr2)  +  1 :]
print (sStr1)
#或者
=  'ab,cde,fgh,ijk'
print (s.split( ',' ))

十七、连接字符串

?
1
2
3
4
5
6
7
8
9
10
delimiter  =  ','
mylist  =  [ 'Brazil' 'Russia' 'India' 'China' ]
print (delimiter.join(mylist))
PHP 中 addslashes 的实现
def  addslashes(s):
     =  { '"' : '\\"' , " '":"\\' ", " \ 0 ":" \\\ 0 ", " \\ ":" \\\\"}
     return  ''.join(d.get(c, c)  for  in  s) 
=  "John 'Johny' Doe (a.k.a. \"Super Joe\")\\\0"
print (s)
print ( addslashes(s))

十八、只显示字母与数字

?
1
2
3
4
5
6
7
8
9
def  OnlyCharNum(s,oth = ''):
     s2  =  s.lower();
     fomart  =  'abcdefghijklmnopqrstuvwxyz0123456789'
     for  in  s2:
         if  not  in  fomart:
             =  s.replace(c,'');
     return  s;
  
print (OnlyStr( "a000 aa-b" ))

十九、截取字符串

?
1
2
3
4
5
6
7
8
9
10
11
str  =  0123456789
print  str [ 0 : 3 #截取第一位到第三位的字符
print  str [:]  #截取字符串的全部字符
print  str [ 6 :]  #截取第七个字符到结尾
print  str [: - 3 #截取从头开始到倒数第三个字符之前
print  str [ 2 #截取第三个字符
print  str [ - 1 #截取倒数第一个字符
print  str [:: - 1 #创造一个与原字符串顺序相反的字符串
print  str [ - 3 : - 1 #截取倒数第三位与倒数第一位之前的字符
print  str [ - 3 :]  #截取倒数第三位到结尾
print  str [: - 5 : - 3 #逆序截取,具体啥意思没搞明白?

二十、直接贴过来

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
str  =  "Hello My friend"
字符串是一个整体。如果你想直接修改字符串的某一部分,是不可能的。但我们能够读出字符串的某一部分。
子字符串的提取
str [: 6 ]
字符串包含判断操作符: in not  in
"He"  in  str
"she"  not  in  str
 
string模块,还提供了很多方法,如
S.find(substring, [start [,end]])  #可指范围查找子串,返回索引值,否则返回-1
S.rfind(substring,[start [,end]])  #反向查找
S.index(substring,[start [,end]])  #同find,只是找不到产生ValueError异常
S.rindex(substring,[start [,end]]) #同上反向查找
S.count(substring,[start [,end]])  #返回找到子串的个数
 
S.lowercase()
S.capitalize()       #首字母大写
S.lower()            #转小写
S.upper()            #转大写
S.swapcase()         #大小写互换
 
S.split( str ' ' )    #将string转list,以空格切分
S.join( list ' ' )    #将list转string,以空格连接
 
处理字符串的内置函数
len ( str )                 #串长度
cmp ( "my friend" str )    #字符串比较。第一个大,返回1
max ( 'abcxyz' )            #寻找字符串中最大的字符
min ( 'abcxyz' )            #寻找字符串中最小的字符
 
string的转换
             
float ( str #变成浮点数,float("1e-1")  结果为0.1
int ( str )         #变成整型,  int("12")  结果为12
int ( str ,base)    #变成base进制整型数,int("11",2) 结果为2
long ( str )        #变成长整型,
long ( str ,base)   #变成base进制长整型,
 
字符串的格式化(注意其转义字符,大多如C语言的,略)
str_format  %  (参数列表)  #参数列表是以tuple的形式定义的,即不可运行中改变
>>> print  " "%s's height is %dcm"  %  ( "My brother" 180 )
           #结果显示为 My brother's height is 180cm


原文:http://my.oschina.net/golang/blog/209208
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值