第十九讲 字符串高级函数

字符串方法:

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'
>>> s.isalnum()
Fals

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

  isdigit():判断是否全是数字

将字符串转换成整形时,首先判断是否全部由数字组成

eg1:

>>> a='abcrobin'
>>> a.isalpha()
True
>>> a.isdigit()
False

>>> b='1239007'
>>> b.isdigit()  
True
>>> b.isalpha()
False

eg2:

>>> s=raw_input("plz input your password:")
plz input your password:123abc
>>> s.isalpha()
False
>>> s.isdigit()
False
>>> s.isalnum()
True


>>> s=raw_input("plz input your password:")
plz input your password:123abc#
>>> s.isalpha()
False
>>> s.isdigit()
False
>>> s.isalnum()
False


3,判断字符是否都是小写/大写的

>>> s='ABVCDN'
>>> s.islower()-------判断是否都是小写
False
>>> s.isupper()-------判断是否都是大写
True

4,判断是否只有空格

isspace:判断字符串中是否只含有空格、\n、\t等

eg1:

>>> sp=''
>>> sp.isspace()-----因为是空字符串,不是只含有空格的,所以为False
False
>>> sp=' '------有空格的字符串
>>> sp.isspace()-----------可作为if、while的循环条件
True
>>> sp=' abc '  
>>> sp.isspace()
False

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
www.百度.com

9,replace函数,通常有两个参数 "old" ,"new" 还有count参数(可选)

10,值拷贝

>>> s='www.baidu.com'
>>> t=s[:4]+'robin'+s[9:]
>>> print t              
www.robin.com

注意:不是修改了原来的字符串,而是生成新的字符串,repalce函数也是

>>> s='www.baidu.com'*3                  
>>> s1=s.replace('baidu','baidu'.upper())
>>> print s1
www.BAIDU.comwww.BAIDU.comwww.BAIDU.com

默认是找到一个就替换一个,所以3个都被替换成大写,默认是全部替换


你可能感兴趣的:(字符串,python,高级函数)