如有字符串mystr = 'hello world'
,以下是常见的操作
1. find
检测 str 是否包含在 mystr中,如果是返回开始的索引值,否则返回-1,还可以指定范围内查找。
mystr.find(str, start=0, end=len(mystr))
eg:
str="hello world and hi you"
print(str.find('and')) #12 也就是a所在的索引
2. index
跟find()方法一样,只不过如果str不在 mystr中会报一个异常.也可以指定范围,所以平时还是用
mystr.index(str, start=0, end=len(mystr))
eg:没有找到字符串时会报错
str="hello world and hi you"
print(str.index('ha'))
如果找到了那么就会返回第一个字符所在的索引:
str="hello world and hi you"
print(str.index('and')) # 12 也就是a所在 的索引
3. count
返回 str在start和end之间 在 mystr里面出现的次数
mystr.count(str, start=0, end=len(mystr))
示例如下:
str="hello world and hi hi hi you"
print(str.count('hi')) # 3
4. replace
把 mystr 中的 str1 替换成 str2,如果 count 指定,则替换不超过 count 次.不指定次数那么全部替换。
mystr.replace(str1, str2, mystr.count(str1))
示例如下:
str="hello world and hi hi hi you"
print(str.replace('hi','ha')) # hello world and ha ha ha you
5. split:根据指定数据对字符串中的数据进行分割
以 str 为分隔符切片 mystr,如果 maxsplit有指定值,则仅分隔 maxsplit 个子字符串
mystr.split(str=" ", 2)
示例:
mystr="name=wangyue&age=100"
print(mystr.split("&")) # ['name=wangyue', 'age=100']列表
split不指定分隔符表示使用空白字符串(也就是一个空格)进行分割
mystr="name=wangyue&age=100"
print(mystr.split()) #['name=wangyue&age=100']
mystr="a b c d"
print(mystr.split()) #['a', 'b', 'c', 'd']
6. capitalize:首字母大写
把字符串的第一个字符大写
mystr.capitalize()
7. title
把字符串的每个单词首字母大写
>>> a = "hello itcast"
>>> a.title()
'Hello Itcast'
8. startswith
检查字符串是否是以 hello 开头, 是则返回 True,否则返回 False
mystr.startswith(hello)
示例:
my_url="http://www.baidu.com"
print(my_url.startswith('http')) # True
print(my_url.startswith('ftp')) # False
9. endswith
检查字符串是否以obj结束,如果是返回True,否则返回 False.
mystr.endswith(obj)
示例:
my_url="http://www.baidu.com"
print(my_url.endswith('com')) # True
print(my_url.endswith('cn')) # False
10. lower
转换 mystr 中所有大写字符为小写
mystr.lower()
示例:
my_url="HTTP://WWW.BAIDU.COM"
print(my_url.lower()) # http://www.baidu.com
11. upper
转换 mystr 中的小写字母为大写
mystr.upper()
示例:
my_url="http://www.baidu.com"
print(my_url.upper()) # HTTP://WWW.BAIDU.COM
12. lstrip
删除 mystr 左边的空白字符(空格、TAB \t \n)
mystr.lstrip()
13. rstrip
删除 mystr 字符串末尾的空白字符
mystr.rstrip()
14. strip
删除mystr字符串两端的空白字符
>>> a = "\n\t world \t\n"
>>> a.strip()
'world'
扩展:
使用strip去除两边指定字符串
my_str='!aaa!'
print(my_str.strip('!')) #aaa
15. rfind
类似于 find()函数,不过是从右边开始查找.
mystr.rfind(str, start=0,end=len(mystr) )
16. rindex
类似于 index(),不过是从右边开始.
mystr.rindex( str, start=0,end=len(mystr))
17. partition
把mystr以str分割成三部分,str前,str和str后,生成的是元组类型的数据
mystr.partition(str)
示例:
mystr="baidu.com"
print(mystr.partition("."),type(mystr.partition(".")) ) # ('baidu','.','com') <class 'tuple'>
18. rpartition
类似于 partition()函数,不过是从右边开始.
mystr.rpartition(str)
19. splitlines:根据\n对数据进行分割
按照行分隔,返回一个包含各行作为元素的列表
mystr.splitlines()
示例:
my_str="第一行\n第二行"
print(my_str.splitlines()) # ['第一行', '第二行']
20. isalpha
如果 mystr 所有字符都是字母 则返回 True,否则返回 False
mystr.isalpha()
判断是不是都是字母,也就是(大小写a~z),数字会是false.
不常用,因为真正判断的时候用正则表达式更多。
21. isdigit
如果 mystr 只包含数字则返回 True 否则返回 False.是整型数字。
mystr.isdigit()
示例:小数点也会返回false
mystr.isdigit()
123 # True
1.23 # False
abc123 #False
22. isalnum
如果 mystr 所有字符都是字母或数字则返回 True,否则返回 False.不能有空格
mystr.isalnum()
示例:
mystr="abc123"
print(mystr.isalnum()) # True
mystr="abc 123"
print(mystr.isalnum()) # False 有空格也不行
23. isspace
如果 mystr 中只包含空白字符,则返回 True,否则返回 False.
mystr.isspace()
示例:
mystr=" "
print(mystr.isspace()) # True
mystr="123 "
print(mystr.isspace()) # False
mystr='\t'
print(mystr.isspace()) # True
mystr='\n'
print(mystr.isspace()) # True
mystr=''
print(mystr.isspace()) # False
24. join
str 中每个元素后面拼接上mystr,构造出一个新的字符串
mystr.join(str)
示例:
字符串
mystr='abc'
add="!"
result=add.join(mystr)
print(result) # a!b!c
列表:(列表的每一项都得是字符串类型的)
my_list=['a','b','c']
add='#'
result=add.join(my_list)
print(result) # a#b#c
想一想
- (面试题)给定一个字符串aStr,返回使用空格或者’\t’分割后的倒数第二个子串