Python字符串的操作

 默认以此为事例:name = "my name is fix zhang

1、首字母大写

print(name.capitalize())

结果:

My name is fix zhang

2、统计字符串中的数量

 print(name.count("a"))

结果:

2

3、自动补全剩余字符,文字位于中间

print(name.center(50,"-"))

结果:

---------------my name is fix zhang---------------

4、判断字符串以什么结尾

print(name.endswith("ng"))

结果:

True

5、扩充标签长度

 name = "my name is \tfix zhang

print(name.expandtabs(tabsize=5))

结果:

my name is     fix zhang #输出的时候把\t转换成5个空格。

 

6、查找字符串中字符的起始位置

print(name.find("zhang"))

结果:

15

再次进行切片,从字符串的第15个位置开始到最后一个位置

print(name[name.find("zhang"):]) # :后面可以省略,代表到末尾。

 

结果:

zhang

7、字符串中字符的赋值

 name = "my name is {name},i am {age} old!

print(name.format(name = "fix zhang",age = "24"))

结果:

my name is fix zhang,i am 24 old!

使用字典的用法:

print(name.format_map({"name":"fix zhang","age":"24"}))

结果:

my name is fix zhang,i am 24 old!

8、判断是否为文字与数字的结合

print(name.isalnum())

结果:

False #数字0-9,字母a-z,A-Z;小数不属于纯阿拉伯数字。

 

9、判断是否为纯英文字符

print(name.isalpha())

结果:

False #英文字符必须为连续才为真,例子中存在空格,所以为False。

 

10、检查字符串是否只包含十进制字符,这种方法只存在于unicode对象。定义一个十进制字符串,只需要在字符串前添加 'u' 前缀即可。

name = u"my name is fix zhang"
name2 = u"232134124"
print(name.isdecimal())
print(name2.isdecimal())

结果:

False 
True

11、判断是不是一个合法的变量名

print(name.isidentifier())

结果:

False #例子中存在空格,所以为False。

12、判断是不是只有数字

print(name.isnumeric())

结果:

False  # 和 isdigit功能一样,不能判断为小数为真

13、判断是不是一个标题,每个首字母大写

 name = "My Name Is Fix Zhang" 

print(name.istitle())

结果:

True

14、判断是不是一个空格

 name = " " 

print(name.isspace())

结果:

True

15、判断是不是可以打印

print(name.isprintable())

结果:

True # tty文件不能打印,drive文件不能打印

16、判断是不是全为大写

 name = "MY NAME IS FIX ZHANG" 

print(name.isupper())

结果:

True

17、判断是不是一个0-9的数字

 age= "2" 

print(name.isdigit())

结果:

True # 不能判断为小数为真

18、判断是不是全为小写

print(name.islower())

结果:

True

 19、取列表的下标

name = ["my",'name','is','fix','zhang']
print(name.index("my"))

结果:

0

 20、Join的用法

name = ["my",'name','is','fix','zhang']
print(",".join(name))

结果:

my,name,is,fix,zhang

 21、左边补全(3.6取消)

 name.ljust(50,"-") 

22、右补全(3.6取消)

 name.rjust(50,"-") 

23、字符全体变小写

print("FIX zhang".lower()

结果:

fix zhang

24、字符全体变大写

print("fix zhang".upper())

结果:

FIX ZHANG

25、字符去掉左边空格和回车

print("hehe","      fix zhang".lstrip())

结果:

hehe fix zhang

26、字符去掉右边空格和回车

print("      fix zhang     ".rstrip(),"hehe")

结果:

      fix zhang hehe

27、同时去掉两边的空格和回车

print("这是前面","      fix zhang     ".strip(),"这是后面")

结果:

这是前面 fix zhang 这是后面

对比没有加.strip的效果:

这是前面       fix zhang      这是后面

 28、maketrans的用法

p = str.maketrans("afinghzxp","521668972")
print("fix zhang".translate(p))

结果:

217 98566 #可以做随机加密

29、替换用法

print("my name is fix zhang".replace("i","I")) #把i替换成I

 

结果:

my name Is fIx zhang

只替换一个:

print("my name is fix zhang".replace("i","I",1)) #把i替换成I,只替换一个

结果:

my name Is fix zhang

30、找到最高位字符的下标

print("my name is fix zhang".rfind(i))

结果:

12

31、rsplit的用法

32、split的分隔用法

print("1+2+3+4+5".split("+"))

结果:

['1', '2', '3', '4', '5']

33、splitlines的分隔用法

print("1+2\n3+4\n5+6".splitlines()) # 识别不同系统的换行

结果:

['1+2', '3+4', '5+6']

 34、swapcase的用法

print("my name is fix zhang".swapcase()) #将数据拷贝一份并以大写覆盖小写后输出,反之亦然
print("My Name Is Fix Zhang".swapcase())

结果:

MY NAME IS FIX ZHANG
mY nAME iS fIX zHANG

35、把字符转换为标题

print("my name is fix zhang".title())

结果:

My Name Is Fix Zhang

36、zfill的用法

print("my name is fix zhang".zfill(50)) #前面不够的用0补位代替

结果:

000000000000000000000000000000my name is fix zhang

 

posted @ 2017-05-24 21:22  zhangzelin  阅读(353)  评论(0编辑  收藏  举报