天天看點

第十九講 字元串進階函數

字元串方法:

len(s)

int(s)

ord(s)與chr(ASCII)

find(s[,start,end]) ----如果找不到傳回值為-1

    rfind

strip(s)---------去除首尾空格

    lstrip

    rstrip

split(s,step)-------傳回清單

index(sub)

rindex(sub)

s.encode([encoding])

s.decode([eccoding])

其他編碼字元--------->decode---------->unicode字元

其他編碼字元<--------encode<-----------unicode字元

不太常用的函數

1,判斷是否都是有效字元組成的字元串:isalnum()------eg判斷論壇使用者名的時候會使用

有效字元:除特殊字元,由字母和數字構成的

檢視幫助

help(str.isalnum)

eg:

>>> s='abcd1234'

>>> s.isalnum()

True

>>> s='abc_123'

Fals

2,isalpha():判斷是否全是字母

  isdigit():判斷是否全是數字

将字元串轉換成整形時,首先判斷是否全部由數字組成

eg1:

>>> a='abcrobin'

>>> a.isalpha()

>>> a.isdigit()

False

>>> b='1239007'

>>> b.isdigit()  

>>> b.isalpha()

eg2:

>>> s=raw_input("plz input your password:")

plz input your password:123abc

>>> s.isalpha()

>>> s.isdigit()

plz input your password:123abc#

3,判斷字元是否都是小寫/大寫的

>>> s='ABVCDN'

>>> s.islower()-------判斷是否都是小寫

>>> s.isupper()-------判斷是否都是大寫

4,判斷是否隻有空格

isspace:判斷字元串中是否隻含有空格、\n、\t等

>>> sp=''

>>> sp.isspace()-----因為是空字元串,不是隻含有空格的,是以為False

>>> sp=' '------有空格的字元串

>>> sp.isspace()-----------可作為if、while的循環條件

>>> sp=' abc '  

>>> sp.isspace()

5,大小寫轉換函數

>>> 'abc'.upper()

'ABC'

>>> 'ABC'.lower()

'abc'

>>> 'abcDER'.upper()--------部分轉換

'ABCDER'

>>> 'abcDER'.lower()--------部分轉換

'abcder'

6,strip函數

去除某字元串(通常是空格、\n、\t)的函數----去除頭和尾的

lstrip 隻去掉左邊的

rstrip 隻去掉右邊的

7,字元串查找和替換函數

s4.startswitch(s1)------s4是否是以s1開始的

s4.endswitch(s1)--------s4是否是以s1結束的

傳回值為True/False,可以用來做if、while的條件

help(str.startswitch)

s.startswitch(prefix[,]start[,end])

可選參數:在開始和結束的字元串内是否以prefix開始

8,查找字元串find-------------找不到傳回值為-1

find 從左向右查

rfind 從右向左查

#!/usr/bin/env python

# -- coding:utf-8 --#

s4='www.baidu.com'

if s4.find("baidu"):

    s4=s4.replace("baidu","百度")

    print s4

執行結果為:

[root@90-99 python-2015]# python a.py 

<a href="http://blog.51cto.com/tenderrain/1623136">www.百度.com</a>

9,replace函數,通常有兩個參數 "old" ,"new" 還有count參數(可選)

10,值拷貝

&gt;&gt;&gt; s='www.baidu.com'

&gt;&gt;&gt; t=s[:4]+'robin'+s[9:]

&gt;&gt;&gt; print t              

<a href="http://www.robin.com/" target="_blank">www.robin.com</a>

注意:不是修改了原來的字元串,而是生成新的字元串,repalce函數也是

&gt;&gt;&gt; s='www.baidu.com'*3                  

&gt;&gt;&gt; s1=s.replace('baidu','baidu'.upper())

&gt;&gt;&gt; print s1

<a href="http://www.baidu.comwww.baidu.comwww.baidu.com/" target="_blank">www.BAIDU.comwww.BAIDU.comwww.BAIDU.com</a>

預設是找到一個就替換一個,是以3個都被替換成大寫,預設是全部替換

      本文轉自Tenderrain 51CTO部落格,原文連結:http://blog.51cto.com/tenderrain/1623136,如需轉載請自行聯系原作者