Python-字符串的判断、拆分和拼接

字符串的判断
x.startswith('字符串')判断指定的字符串是否出现在原字符串起始位置,是为True,不是为False
x.endswith('字符串')#判断指定的字符串是否出现在原字符串末尾位置,是为True,不是为False

支持元组传入元素

x = 'python 很好用'
print(x.startswith('py'))  # True
print(x.startswith('p'))  # True
print(x.startswith('p', 1, 5))  # False,原字符串从下标1开始到下标5结束,不包括下标为5的字符
print(x.endswith('好用'))  # True
print(x.endswith('好用', 0, 5))  # False,原字符串从下标0开始到下标5结束,不包括下标为5的字符
if x.startswith(('py', 'ja', 'css')):
    print('编程很好用!')  # 编程很好用!

x.istitle()判断所有单词都是大写开头,其余都是小写,是为True,不是为False

x = 'I Love Python'
print(x.istitle())  # True
y = 'I Love python'
print(y.istitle())  # False

x.isupper()判断所有字母都是大写字母,是为True,不是为False
x.upper()是将字母全部转换成大写
x.islower()判断所有字母都是小写字母,是为True,不是为False

x = 'I Love Python'
print(x.isupper())  # False
print(x.upper().isupper())  # True,调用多个函数时,从左往右依次执行
y = 'HHH HI'
print(y.isupper())  # True
z = 'i love'
print(z.islower())  # True
print(x.islower())  # False

x.isalpha()判断字符串中是否只是由字母构成

x = 'I Love Python'
print(x.isalpha())  # False,因为空格不是字母
y = 'ILovePython'
print(y.isalpha())  # True

x.isspace()判断是否为一个空白字符串,空格和tab都是空白字符串,空字符串不是空白字符串

x = 'I Love Python'
print(x.isspace())  # False
y = '  '
print(y.isspace())  # True
z = ''  # 空字符串
print(z.isspace())  # False
w = '   '  #tab
print(w.isspace())  # True

x.isprintable()判断一个字符串中是否所有字符都是可打印的,转义字符不可打印

x = 'I Love Python'
print(x.isprintable())  # True
y = 'I Love Python\n'
print(y.isprintable())  # False

x.isdecimal()判断字符串是否只包含十进制字符
x.isdigit()判断字符串是否只由数字组成
x.isnumeric()判断字符串是否只由数字组成
x.isalnum()x.isalpha()、x.isdecimal()、x.isdigit()、x.isnumeric()中任何一个为True,x.isalnum()就为True

x = '12345'
print(x.isdecimal())  # True
print(x.isdigit())  # True
print(x.isnumeric())  # True
y = '2^2'
print(y.isdecimal())  # False
print(y.isdigit())  # False
print(y.isnumeric())  # False
z = '一'
print(z.isdecimal())  # False
print(z.isdigit())  # False
print(z.isnumeric())  # True
print(z.isalnum())  # True

x.isidentifier()判断字符串是否是一个合法的python标志符,合法标志符是包括下划线、字母、数字,并且以下划线或者字母开头

x = 'I Love Python'
print(x.isidentifier())  # False,不能有空格
y = 'I_Love_Python'
print(y.isidentifier())  # True

keyword.iskeyword('字符')判断一个字符是否为Python的保留标志符

import keyword
print(keyword.iskeyword('if'))  # True
print(keyword.iskeyword('py'))  # False

字符串的截取
x.lstrip()左侧的空白被截掉
x.rstrip()右侧的空白被截掉
x.strip()左、右的空白都被截掉
x.lstrip('字符串')截掉左侧的字符
x.rstrip('字符串')截掉右侧的字符
x.strip('字符串')左、右的字符都被截掉
是依次寻找单个字符依次截掉,并不是字符串截掉

x = '    左侧不要留白    '
print(x.lstrip())
print(x.rstrip())
print(x.strip())
y = 'www.ilovepython.com'
print(y.lstrip('wcom.'))  # ilovepython.com,截掉了左侧的3个w和1个.
print(y.rstrip('wcom.'))  # www.ilovepython,截掉右侧的com和右侧的.
print(y.strip('wcom.'))  # ilovepython,截掉左、右两侧的wcom.

x.removeprefix('字符串')截掉前缀字符串
x.removesuffix('字符串')截掉后缀字符串

x = 'www.ilovepython.com'
print(x.removeprefix('www.'))  # ilovepython.com,截掉前缀www.字符串
print(x.removesuffix('.com'))  # www.ilovepython,截掉后缀.com字符串

字符串的拆分与拼接
拆分
x.partition('元素')从左向右找第一个元素来切割
x.rpartition('元素')从右往左找第一个元素来切割
切割字符串,得到三个元素的元组

x = 'www.ilovepython.com'
print(x.partition('.'))  # ('www', '.', 'ilovepython.com'),从左向右找第一个'.'来切割
print(x.rpartition('.'))  # ('www.ilovepython', '.', 'com'),从右往左找第一个'.'来切割

x.split()默认用空格分隔
y.split('字符')从左往右依次找字符分隔
y.rsplit('字符')从右往左依次找字符分隔
y.split('字符',n)从左往右依次找字符分隔n次,也就是n+1份
y.rsplit('字符',n)从右往左依次找字符分隔n次,也就是n+1份
得到的是列表

x = '明日复明日 明日何其多 我生待明日 万事成蹉跎'
print(x.split())  # ['明日复明日', '明日何其多', '我生待明日', '万事成蹉跎'],用空格分隔
y = '1,2,3,4'
print(y.split(','))  # ['1', '2', '3', '4'],用','分隔
print(y.rsplit(','))  # 从右往左依次找','分隔
print(y.split(',', 2))  # ['1', '2', '3,4'],从左往右依次找','分隔2次,也就是3份
print(y.rsplit(',', 2)) # ['1,2', '3', '4'],从右往左依次找','分隔2次,也就是3份

x.splitlines()用换行符切割,换行符可以是\n也可以是\r
x.splitlines(True)得到的列表包括换行符

x = '1\n2\r3\n4'
print(x.splitlines())  # ['1', '2', '3', '4'],用换行符切割
print(x.splitlines(True))  #['1\n', '2\r', '3\n', '4'],得到的列表包括换行符

拼接
'元素'.join(['好', '明天', 'say'])用元素将join里的元素连接起来
join 里面用元组和列表都可以

print('.'.join(['好', '明天', 'say']))  # 好.明天.say,用.将join里的元素连接起来
print('.'.join(('好', '明天', 'say')))  # 好.明天.say,用.将join里的元素连接起来

你可能感兴趣的:(python,开发语言,后端)