◎知识点
Python字符串的劈分和合并
以is开头的字符串方法
去除字符串的前导字符串或后续字符串
◎脚本练习
#!/usr/bin/env python3 # -*- coding: utf-8 -*- """ @FileName: string_operator3.py @Function: string operator @Author: Zhihe An @Site: https://chegva.com @Time: 2021/6/25 """ """一、字符串的劈分和合并""" """ 1、调用方法split和rsplit劈分字符串 方法split从字符串的左边开始劈分,方法rsplit从字符串的右边开始劈分 默认的劈分符是空格字符串,这两个方法的返回值都是一个列表 """ s = 'Python Swift Kotlin' print(s.split()) # ['Python', 'Swift', 'Kotlin'] print(s.rsplit()) # ['Python', 'Swift', 'Kotlin'] # 可以通过参数sep指定劈分字符串时的劈分符 s = 'Python|Swift|Kotlin' print(s.split(sep = '|')) # ['Python', 'Swift', 'Kotlin'] print(s.rsplit(sep = '|')) # ['Python', 'Swift', 'Kotlin'] """ 可以通过参数maxsplit指定劈分字符串时的最大劈分次数,在经过最大次劈分后,剩余的子串 会单独作为一部分。此时,方法split和rsplit就有区别了 """ s = 'Python Swift Kotlin Java' print(s.split(maxsplit=2)) # ['Python', 'Swift', 'Kotlin Java'] print(s.rsplit(maxsplit=2)) # ['Python Swift', 'Kotlin', 'Java'] """ 2、调用方法partition或rpartition劈分字符串 方法partition从字符串的左边开始劈分,方法rpartition从字符串的右边开始劈分 调用这两个方法时都必须指定劈分符 方法partition在指定的劈分符第一次出现的地方(方法rpartition在指定的劈分符最后一次出现的地方),将字符串劈分为三个部分 (1) 劈分符前面的部分 (2) 劈分符 (3) 劈分符后面的部分 这两个方法的返回值都是一个元组 """ s = 'Hello-World-!' print(s.partition('-')) # ('Hello', '-', 'World-!') print(s.rpartition('-')) # ('Hello-World', '-', '!') s = 'HelloWorld-' print(s.partition('-')) # ('HelloWorld', '-', '') print(s.rpartition('-')) # ('HelloWorld', '-', '') """ 如果字符串中不存在指定的劈分符,方法partition返回的元组中的三个元素依次为: (1) 字符串本身 (2) 空字符串 (3) 空字符串 如果字符串中不存在指定的劈分符,方法rpartition返回的元组中的三个元素依次为: (1) 空字符串 (2) 空字符串 (3) 字符串本身 """ s = 'HelloWorld' print(s.partition('-')) # ('HelloWorld', '', '') print(s.rpartition('-')) # ('', '', 'HelloWorld') """ 3、调用方法join合并多个字符串 """ # 字符串之间用'|'进行合并 s = '|'.join(['Python', 'Swift', 'Kotlin']) # s = '|'.join(('Python', 'Swift', 'Kotlin')) print(s) # Python|Swift|Kotlin s = ''.join(['Python', 'Swift', 'Kotlin']) print(s) # PythonSwiftKotlin # 可以把字符串看作是字符的列表 s = '|'.join('Python') print(s) # P|y|t|h|o|n """二、以is开头的字符串方法""" """ 字符串的很多方法是以is开头的: 1、isidentifier:判断指定的字符串是否是合法的标识符 """ print('abc'.isidentifier()) # True print('123'.isidentifier()) # True """ 可以调用模块keyword中的方法iskeyword判断一个字符串是否是关键字 """ import keyword print(keyword.iskeyword('if')) # True print(keyword.iskeyword('iF')) # False """ 2、isspace:判断指定字符串是否全部由空白字符组成 3、isalpha:判断指定字符串是否全部由字母组成 4、isdecimal:判断指定字符串是否全部由十进制的数字组成 5、isnumeric:判断指定字符串是否全部由数字组成 6、isalnum:判断指定字符串是否全部由字母和数字组成 """ print('\t \r \n'.isspace()) # True print('abc'.isalpha()) # True print('abc1'.isalpha()) # False print('123'.isdecimal()) # True print('123六Ⅵ'.isdecimal()) # False print('123六Ⅵ'.isnumeric()) # True print('123六Ⅵa'.isnumeric()) # False print('abc123六Ⅵ'.isalnum()) # True print('abc123六Ⅵ!'.isalnum()) # False """三、去除字符串的前导字符串或后续字符串""" """ 如果想去除字符串的前导字符串或后续字符串,可以调用以下方法: (1) lstrip:去除字符串的前导字符串 (2) rstrip:去除字符串的后续字符串 (3) strip:去除字符串的前导字符串和后续字符串 其中,默认的前导字符串和后续字符串都是空格字符串 """ s = ' Hello World ' print(s.lstrip()) # Hello World print(s.rstrip()) # Hello World print(s.strip()) # Hello World """ 调用以上三个方法时可以指定一个字符串,这样, 前导字符串指的是:从左边第1个字符串开始依次往后,直到某个字符不在指定的字符串中 后续字符串指的是:从右边最后1个字符开始依次往前,直到某个字符不在指定的字符串中 """ s = 'www.example.com' print(s.lstrip('cmowz.')) # example.com print(s.rstrip('cmowz.')) # www.example print(s.strip('cmowz.')) # example