1.子串的搜索:
a = "一二三四五六七八九十一二三四一二三四"
b = "亘古的月光"
#是否以某字符结尾
print(a.endswith("五"))
print(a.endswith("四"))
#是否是以某字符开始
print(a.startswith("一"))
print(a.startswith("五"))
#查找某字符or字符串出现的最小坐标
#和index方法很像,但index找不到会报错,而find找不到会返回-1
print(a.find("二三"))
print(a.find("二三",5,13))
print(a.find("亘",5,13))
print(a.index("二",5,13))
print(a.index("亘",5,13)) #报错 ValueError: substring not found
#查找某字符or字符串出现的最大坐标
print(a.rfind("二三",5,17))
#查找某字符or字符串出现的次数
print(a.count("二三"))
2.字符串拆分和组合
a = "一二三四五六七八九十一二三四一二三四"
b = "亘古的月的光"
c = "亘古的\n月光"
# 从左侧始拆分
# 参数:sep(分隔符)、最大拆分次数
print(a.split("一")) # ['', '二三四五六七八九十', '二三四', '二三四']
print(a.split("一", 2)) # ['', '二三四五六七八九十', '二三四一二三四']
# 从右侧始拆分
print(a.rsplit("四")) # ['一二三', '五六七八九十一二三', '一二三', '']
# 依据换行符\n进行拆分,为True时保留换行符,反之不保留
print(c.splitlines(True)) # ['亘古的\n', '月光']
print(c.splitlines(False)) # ['亘古的', '月光']
# 依据sep分割为before,sep,after三部分
print(b.partition("的")) # ('亘古', '的', '月的光')
print(b.rpartition("的")) # ('亘古的月', '的', '光')
3.转换字符串
d = "smile, beatiful Night,smile"
# 大写首字母
print(d.capitalize()) # Smile, beatiful night,smile
# 全部转大写
print(d.upper()) # SMILE, BEATIFUL NIGHT,SMILE
# 全部转小写
print(d.lower()) # smile, beatiful night,smile
# 将每个单词的首字母大写
print(d.title()) # Smile, Beatiful Night,Smile
# 将大小逆转
print(d.swapcase()) # SMILE, BEATIFUL nIGHT,SMILE
# 参数依次为:old,new,替换次数,用新的字符串替换旧的
print(d.replace("smile", "laugh", 1)) # laugh, beatiful Night,smile
4.删除空白字符
a = " conversation\tin the dark "
#去除左端开头空格
print(a.lstrip())
#去除右端开头空格
print(a.rstrip())
#去除两端空格
print(a.strip())
#使用一个空格代替\t
print(a.expandtabs(1))
5.测试字符串内容
a = "Conversation"
#是否都是字母或数字
print(a.isalnum())
#是否时字母
print(a.isalpha())
#是否是数字
print(a.isdigit())
#是否是Python标识符
print(a.isidentifier())
#是否是小写
print(a.islower())
#是否是大写
print(a.isupper())
#是否有空格
print(a.isspace())
#是否每个单词首字母是大写
print(a.istitle())