# FirstPython.py
"""
标准字符串函数
"""
"""
字符串索引
"""
# 字符串是一组字符,可以当作是一个数组,
s = 'apple'
print(s[0]) # a
print(s[-1]) # e
# 使用for循环遍历字符串
total = 0
for c in s:
total += ord(c) # ord()获取字符编码
print(total) # 530
"""
根据字符编码获取字符
"""
print(chr(97)) # a
"""
字符串测试函数
"""
# s.endswith(t) s以字符串t结尾,区分大小写
# s.startswith(t) s以字符串t开头,区分大小写
# s.isalnum() s只包含字符串或数字
# s.isalpha() s只包含字符串
# s.isdigit() s只包含数字字符
# s.isidentifier() s是否合法标识符
# s.islower() s是否只包含小写字符
# s.isnumeric() s只包含数字
# s.isprintable() s是否只包含可打印字符
# s.isspace() s只包含空白字符
# s.istitle() s是否符合头衔大小写
# s.isupper() s是否只包含大写字母
# s in t t是否包含s
s = "Hello,World!"
print(s.endswith('!')) # True
print(s.startswith('h')) # False
print(s.startswith('H')) # True
print(s.isalnum()) # True
print(s.isalpha()) # False
print(s.isdigit()) # False
print(s.isidentifier()) # False
print('name'.isidentifier()) # True
print(s.islower()) # False
print('-123'.isnumeric()) # False
print(s.isprintable()) # True
print(s.isspace()) # False
print(s.istitle()) # True
print('hello'.istitle()) # False
print(s.isupper()) # False
print('e' in s) # True
"""
搜索函数
"""
# s.find(t) 如果没有找到子字符串t,返回-1,否则返回t在s中的起始位置
# s.rfind(t) 如果没有找到子字符串t,返回-1,否则返回t在s中的最后一个的位置
# s.index(t) 如果没有找到子字符串t,返回ValueError异常,否则返回t在s中的起始位置
# s.rindex(t) 如果没有找到子字符串t,返回ValueError异常,否则返回t在s中的最后一个的位置
print(s.find('e')) # 1
print(s.rfind('l')) # 9
# print(s.index('a')) #ValueError: substring not found
"""
改变字符串大小写
"""
# s.capitalize() 将s[0]变成大写
# s.lower() 将字母全部改成小写
# s.upper() 将字母全部改成大写
# s.swapcase() 交换大小写
# s.title() 将字符串改成符合头衔大小写
"""
设置格式函数
"""
# s.center(n,ch) 包含n个字符串,其中s位于中间,两边使用ch填充
# s.ljust(n,ch) 包含n个字符串,其中s位于右边,左边使用ch填充
# s.rjust(n,ch) 包含n个字符串,其中s位于左边,右边使用ch填充
# s.format(ch1,ch2) s中包含{0}{1}的位置被ch1、ch2填充
sformat = 'a'
print(sformat.center(3, '*')) # *a*
print(sformat.ljust(3, '*')) # a**
print('{0}'.format('a')) # a
"""
字符串剥除函数
"""
# s.strip(ch) 去除字符串s中开头和结尾的ch字符串
# s.lstrip(ch) 去除字符串s中开头的ch字符串
# s.rstrip(ch) 去除字符串s中结尾的ch字符串
name = ' Gates Bill '
print(name.strip()) # 'Gates Bill'
print(name.lstrip()) # 'Gates Bill '
print(name.rstrip()) # ' Gates Bill'
"""
字符串拆分函数
"""
# s.partition('ch') 将字符串s按照ch字符串分成三个部分,从左到右的顺序
# s.rpartition('ch') 将字符串s按照ch字符串分成三个部分,从右到左的顺序
# s.split('ch') 以ch为分隔符,将s进行分割,并返回分割后的列表
# s.rsplit('ch') 以ch为分隔符,将s进行分割,并返回分割后的列表,从s的右端开始搜索ch
website = 'www.lisen.me'
print(website.partition('.')) # ('www', '.', 'lisen.me')
print(website.rpartition('.')) # ('www.lisen', '.', 'me')
print(website.split('.')) # ['www', 'lisen', 'me']
print(website.rsplit('.')) # ['www', 'lisen', 'me']
print('ww\nlise\nme'.splitlines()) # ['www', 'lisen', 'me']
"""
字符串替换
"""
# s.replace(old,new) 将字符串s中的old子字符串全部替换成new
# s.expandtabs(n) 将字符串s中的每个制表符替换成n个空格
print(website.replace('www.','')) # lisen.me
print('Hell\tWorld'.expandtabs(20)) # Hello World
"""
其他函数
"""
#join 用于拼接一系列字符串
#s.count('ch') 统计字符串s中ch的出现次数
#s.maketrans('old','new')->t 创建一个转换表t,用于将s中的old替换成new
#s.translate(t) 按照转换表t将s中的字符进行替换
print('-'.join(['Hello','World'])) # Hello-World
print(name.count('B')) #1
leet_table = name.maketrans('B','2')
print(name.translate(leet_table)) # Gates 2ill
"""
正则表达式
"""
#xy? 代表x、xy
#x|y 代表x、y
#x* 代表' '、x、xx、xxx...
#x+ 代表 x、xx、xxx...
import re
def is_funny(s):
return re.match('x|y',s) != None
print(is_funny('x')) #True
原文出自[ 木子网 ] 转载请保留原文链接: https://www.lisen.me/1526.html