Python:【字符串】 字符串常用基本操作(持续更新...)
字符串常用基本操作
1.去除字符串左右特定字符
① 方法:
str.lstrip(char)、str.rstrip(char)、str.strip(char)【同时删除左右两边指定字符】
② 参数:
char为字符,而不是字符串。默认为空格。
③ 返回值:
返回值为去除掉字符的新字符串,而原来的字符串没有改变
>>>s="--zhangdanshen---"
>>>s1=s.lstrip("-")
>>>s2=s.rstrip("-")
>>>s3=s.strip("-")
>>>print(s)
>>>print(s1)
>>>print(s2)
>>>print(s3)
--zhangdanshen---
zhangdanshen---
--zhangdanshen
zhangdanshen
2.查找字符串
① 方法:
str.index(chars)、str.find(chars)和in/not in
② 区别:
str.index(char)返回值为 chars在str中(首字母)第一次出现的位置,如果没有则程序无法正常运行。
str.find(char)返回值为 chars在str中(首字母)第一次出现的位置,如果没有则返回-1,程序正常运行
因此通常使用find!=-1或者find>-1来作为判断条件。
除函数之外
in 为成员运算符,如果字符串中包含给定的字符返回 True,否则返回 False
>>>s=" zhangdanshen "
>>>print(s.index("a"))
>>>print(s.find("a"))
>>>print(s.find("p"))
>>>print("zhang" in s)
2
2
-1
True
3.字符串连接
① 方法:
"+" 和 str.join()
② "+" :
简单的字符串连接
>>>a='hello '
>>>b='world'
>>>print(a+b)
hello world
③ str.join(seq)
参数:str,分隔符,可以为空。seq,要连接的元素序列、字符串、元组、字典。
【以str作为分隔符,将seq所有的元素合并成一个新的字符串】
返回值:返回一个以分隔符str连接各个元素后生成的字符串
>>>#字符串
>>>str1="-"
>>>str2=""
>>>seq1=["a","b","c"]
>>>seq2="zhang"
>>>print(str1.join(seq1))
>>>print(str2.join(seq1))
>>>print(str1.join(seq2))
a-b-c
abc
z-h-a-n-g
【注意】:str.join(seq)相当于一个迭代的过程,是对seq中的每一个元素(除最后一个)进行与str的连接
4.字符串长度
len(str)
>>>s="zhang"
>>>print(len(s))
5
5.字符串统计
str.count(char)
>>>s="zhangdanshen"
>>>print(s.count("n"))
3
6.字符串获取(切片)
完全遵循python “切片”操作
>>>str = "0123456789"
>>>#截取第一位到【第三位】的字符
>>>print str[0:3]
012
>>>#截取字符串的全部字符
>>>print str[:]
0123456789
>>>#截取【第六个】字符到结尾
>>>print str[6:]
>>>#截取从头开始到倒数第三个字符之前
>>>print str[:-3]
0123456
>>>#截取第三个字符
>>>print str[2]
2
>>>#截取倒数第一个字符
>>>print str[-1]
9
>>>#创造一个与原字符串顺序相反的字符串
>>>print str[::-1]
987543210
>>>#截取倒数第三位与倒数第一位【之前】的字符
>>>print str[-3:-1]
78
>>>#截取倒数第三位到结尾
>>>print str[-3:]
789
>>>#逆序截取,截取倒数第五位数与倒数第三位数【之前】的字符
>>>print str[-5:-3]
56
7.字符串常用判断函数
>>>s1="123"
>>>s2="ABC"
>>>s3="123ABC"
①判断是否全是字母和数字(混合),并至少有一个字符
str.isalnum()
>>>s1.isalnum()
>>>s2.isalnum()
>>>s3.isalnum()
False
False
True
②判断是否全是字母,并至少有一个字符
str.isalpha()
>>>s1.isalpha()
>>>s2.isalpha()
>>>s3.isalpha()
False
True
False
③判断是否全是数字,并至少有一个字符
str.isdigit()
>>>s1.isdigit()
>>>s2.isdigit()
>>>s3.isdigit()
True
False
False
④判断大小写问题
str.islower() 判断str的字母是否全为小写
str.isupper() 判断str的字母是否全为大写
str.istitle() 判断str的字母是否首字母大写
8.字符转换
int(x [,base ]) :将一个base进制的x转换为十进制整数,base默认为10进制。【x为字符数字,不可为字母】
ord(x ) :将一个字符转换为它的整数值【ASCII码,x为字符不是字符串,即x的长度为1】
str(x ) :将对象 x 转换为字符串【x为数字】
chr(x ) :将一个整数转换为一个字符【x为数字,且是ASCII码之间的转换】
①int()
>>>int("123")
123
>>>int("123",10)
123
>>>int("123",2)
执行错误,123不是2进制数
>>>int("01010101",2)
85
#将01010101看作十进制数,则自动去掉前导零
>>>int("01010101")
1010101
>>>int("box")
执行错误,box不是10进制的数
②ord()
>>>ord("A")
65
>>>ord("a")
97
>>>ord("Aa")
执行错误,参数只可为字符
#字符1的ASCII码
>>>ord("1")
49
>>>ord("11")
执行错误,"11"为字符串
③str()
>>>str(123)
"123"
>>>str("123")
"123"
④chr()
#"{"的ASCII码为123
>>>chr(123)
"{"
>>>chr(65)
A