# 字符串的方法不会改变原字符串的值
name = ' besttest '
print(name.strip()) # 默认去掉两边的空格和换行符
print(name)
print(' 123 456'.strip('456'))
new_name = name.lstrip() # 去掉左边的空格和换行符
new_name1 = name.rstrip() # 去掉右边的空格和换行符
print(name.count('t')) # 查找某个字符串在里面出现的次数
print(name.count('o'))
name = 'besttest'
print(name.capitalize()) # 首字母大写
print(name.center(50, '*')) # 把字符串放中间,总长度为50,以*补全
print(name.find('t')) # 找到t,返回第一次出现的下标
print(name.find('o')) # 如果不存在,返回-1
print(name.index('t'))
# print(name.index('o')) # 找不到时候报错!
print(name.upper()) # 小写字母变大写
print(name.lower()) # 大写字母变小写
name = 'a.txt'
print(name.endswith('txt')) # 返回True或者False,字符串是否以什么结尾
print(name.startswith('a')) # 返回True或者False,字符串是否以什么开头
f = '{name}欢迎光临'
print(f.format(name='wangsilei')) # 字符串格式化
f = '{name}欢迎光临,{age}'
d = {'name': 'panda', 'age': 18}
print(f.format_map(d))
name = 'abcde'
print(name.replace('abc', '123')) # 字符串替换
print('123456'.isdigit()) # 是否是数字
print('abc'.isupper()) # 判断是否全部是大写字母
print('abc'.islower()) # 判断是否全部是小写字母
print('abc123'.isalnum()) # 是否包含数字或字母(只有数字或者字母组合)
print('abA'.isalpha()) # 是否是英文字母
# 字符串重要的方法
str1 = 'a, b, c, d, e, f, g'
print(str1.split(', '))
print((str1.split(', '))) # 字符串分割,返回一个list
print((str1.split('b')))
print((str1.split())) # 不写默认空格分隔
slit = ['a', 'b', 'c', 'd']
name = ','.join(slit) # 通过,链接list里面的每一个值
print(name)
s2 = 'hhhhhhhhh'
print('*'.join(s2))
d = {'name': 'wangsilei', 'age': 18}
print('*'.join(d)) # 只对key有效
name = 'abcde'
print('a' in name)
print('e' not in name)