笔记----字符串

本文详细介绍了Python字符串的各种操作,包括转换、状态判断、格式转换、拆分、连接和查询等。例如,`upper()`用于转为大写,`isalnum()`判断是否由字母和数字组成,`split()`进行拆分,`replace()`实现替换,以及`count()`计算出现次数等。这些方法在日常编程中非常实用。
摘要由CSDN通过智能技术生成

一、字符串的操作符

字符串的转换

 upper()

将字符串进行大写

 lower()

 将字符串进行小写

 swapcase()

 将字符串中的大小写相互转换

 title()

 将字符串中的单词首字母进行大写,其余字母小写,用空格来区分单词

 capitalize()

 将字符串中的单词首字母进行大写,其余字母小写 

 len()

 获取字符串的长度

# 4、字符串的操作
# a = 'hello121f'
lo = 'AFAFAF11231D哈哈'
up = 'AFG1134af子框'
# 字符转换操作
# 1)、upper() 将字符串进行大写
print(up.upper())    # 输出:AFG1134AF子框
# 2)、lower() 将字符串进行小写
print(lo.lower())  # 输出:afafaf11231d哈哈  支持英文字母
print(lo.casefold())    # 输出:afafaf11231d哈哈 # 支持所有语言
# 3)、swapcase() 将字符串中的大小写相互转换
print(up.swapcase())    # 输出:afg1134AF子框
# 4)、title() 将字符串中的单词首字母进行大写,其余字母小写,用空格来区分单词
mo = "dfhaFF dFFFFD afad"
print(mo.title())   # 输出:Dfhaff Dffffd Afad
# 5)、capitalize() 将字符串中的单词首字母进行大写,其余字母小写
print(mo.capitalize())  # 输出:Dfhaff dffffd afad
# 6)、len() 获取字符串的长度
print(len(mo))  # 输出:18
字符串状态

 islower()

 判断字符串是否全部是有小写字母组成

 isupper()

 判断字符串是否全部是大写字母组成

 isdigit()

  判断字符串是否是由纯字母组成

 isalpha()

 判断字符串是否由纯字母组成

 isalnum()

判断字符串是否由数字和字母组成

 istitle()

判断字符串是否满足单词首字母大写

 startswith(str)

 判断字符串是否以括号内的字符串为开头

endswith(str)

 判断字符串是否以括号内的字符串为结尾

# 状态获取
mo = "dfhaFF dFFFFD afad"
# 它返回的是布尔类型:False 或 True

# 1)、islower() 判断字符串是否全部是有小写字母组成
print(mo.islower())  # 输出:False

# 2)、isupper()  判断字符串是否全部是大写字母组成
print(mo.isupper())  # 输出:False

# 3)、isdigit()  判断字符串是否是由纯字母组成
num = '121212'
nums = 'sfsa11313'
number = 'fafafdsafd'
print(num.isdigit())    # 输出:True
print(nums.isdigit())   # 输出:False

# 4)、isalpha() 判断字符串是否由纯字母组成
print(num.isalpha())    # 输出:False
print(number.isalpha())   # 输出:True

# 5)、isalnum() 判断字符串是否由数字和字母组成
print(num.isalnum())    # 输出:True
print(nums.isalnum())   # 输出:True
print(number.isalnum())  # 输出:True

# 6)、istitle() 判断字符串是否满足单词首字母大写
# 当非首字母部分出现大写或出现其他非字母的字符,返回False
stt = 'Faq Sx'
print(num.istitle())      # 输出:False
print(stt.istitle())      # 输出:True

# 7)、startswith(str) 判断字符串是否以括号内的字符串为开头
print(stt.startswith('F'))  # 输出:True

# 8)、endswith(str)  判断字符串是否以括号内的字符串为结尾
print(stt.endswith('x'))    # 输出:True

字符串格式转换

strip(str)

 去掉字符串首位指定的字符或序列

 lstrip(str)

去掉字符串左侧指定的字符

 rstrip(str)

去掉字符串右侧指定的字符

 ljust(len,str)

使用指定的字符串在字符串的右侧补充到指定的长度

 rjust(len,str)

使用指定的字符串在字符串的左侧补充到指定的长度

center(len,str)

 使用指定的字符串在字符串的左右两侧补充到指定的长度

zfill(len)

 使用0字符在字符串的左侧补充到指定的长度


# 格式转换操作

# 1)、strip(str)  去掉字符串首位指定的字符或序列
# 该方法只能删除开头和结尾的字符,中间的字符不能删除
str_1 = '000010001does 000 batting1001000'
str_2 = '    does 000 batting   '
print(str_1.strip('0'))  # 输出 does 000 batting
print(str_2.strip())    # 输出 does 000 batting   不填默认删除空格
# 删除序列,不用考虑序列中字符在字符串中的顺序,但字符必须是字符串的手尾位置
print(str_1.strip('0g1'))   # does 000 battin

# 2)、lstrip(str) 去掉字符串左侧指定的字符
print(str_1.lstrip('10'))   # 输出:does 000 batting1001000

# 3)、rstrip(str)    去掉字符串右侧指定的字符
print(str_1.rstrip('10'))   # 输出:000010001does 000 batting

# 4)、ljust(len,str) 使用指定的字符串在字符串的右侧补充到指定的长度
str_3 = 'dong'
print(str_3.ljust(9, '8'))  # 输出:dong88888

# 5)、rjust(len,str) 使用指定的字符串在字符串的左侧补充到指定的长度
print(str_3.rjust(9, '8'))  # 输出:88888dong

# 6)、center(len,str) 使用指定的字符串在字符串的左右两侧补充到指定的长度
print(str_3.center(16, '9'))    # 输出:999999dong999999

# 7)、zfill(len) 使用0字符在字符串的左侧补充到指定的长度
print(str_3.zfill(9))   # 输出:00000dong
字符串拆分

partition(str)

 从字符串左侧开始查找,将参数左侧、参数、参数右侧三个字符串元组形式返回

rpartition(str)

 从字符串右侧开始查找,将参数左侧、参数、参数右侧三个字符串元组形式返回

split()

 使用参数作为分割线,将字符串分成若干个字符串,并以列表形式返回

splitlines()

 以换行符作为分割线,将字符串分成若干个字符串,并以列表形式返回

 

# 拆分操作

# 1)、partition(str) 从字符串左侧开始查找,将参数左侧、参数、参数右侧三个字符串元组形式返回
str_4 = 'chaiFen'
print(str_4.partition('i'))

# 2)、rpartition(str) 从字符串右侧开始查找,将参数左侧、参数、参数右侧三个字符串元组形式返回
print(str_4.rpartition('F'))

# 3)、split()  使用参数作为分割线,将字符串分成若干个字符串,并以列表形式返回
str_5 = 'shipping'
print(str_5.split('i'))

# 4)、splitlines()   以换行符作为分割线,将字符串分成若干个字符串,并以列表形式返回
str_6 = 'hello\nitcast\npython'
print(str_6.splitlines())
字符串连续

 "原始字符串".jion(str)

 将原始字符串填充到参数中的每个字符之间

str1 + str2

 将两个字符串按顺序拼接

# 连接操作

# 1)、"原始字符串".jion(str)  将原始字符串填充到参数中的每个字符之间

print('7'.join(str_5))

# 2)、str1 + str2 将两个字符串按顺序拼接
print(str_5 + " " + str_4)
字符串查询

find(str, begin, end)

 从字符串左侧开始,以指定的位置开始,到指定的位置结束,返回第一次出现索引的位置

rfind(str, begin, end)

 从字符串右侧开始,以指定的位置开始,到指定的位置结束,返回第一次出现索引的位置

index(str, begin, end)

 从字符串左侧开始,以指定的位置开始,到指定的位置结束,返回第一次出现索引的位置

 rindex(str, begin, end)

 从字符串右侧开始,以指定的位置开始,到指定的位置结束,返回第一次出现索引的位置

 count(str)

查询参数在字符串中出现的次数

# 查询操作

# 1)、find(str, begin, end) 从字符串左侧开始,以指定的位置开始,到指定的位置结束,返回第一次出现索引的位置
# 查到就返回该位置的下标,没找到返回-1
str_7 = 'hello, you need a book'
print(str_7.find("e", 2, 16))

# 2)、rfind(str, begin, end) 从字符串右侧开始,以指定的位置开始,到指定的位置结束,返回第一次出现索引的位置
print(str_7.rfind("e", 2, 19))

# 3)、index(str, begin, end) 从字符串左侧开始,以指定的位置开始,到指定的位置结束,返回第一次出现索引的位置
# 查到就返回该位置的下标,没找到就报错
print(str_7.index("e", 2, 18))

# 4)、rindex(str, begin, end) 从字符串右侧开始,以指定的位置开始,到指定的位置结束,返回第一次出现索引的位置
print(str_7.rindex("e", 2, 19))

# 5)、count(str) 查询参数在字符串中出现的次数
print(str_7.count('e'))

 

字符串替换

 replace(old_str, new_str, num)

使用新字符串替换旧的字符串,num是替换数量

expandtabs()

 使用空格替换字符串中的制表为\t

maketrans(str1,str2)使用两个等长的字符串中的每个对应位置的字符生成一个字典对象
translate (dict)使用字典对字符串信息进行转换

 

# 替换操作

# 1)、replace(old_str, new_str, num)    使用新字符串替换旧的字符串,num是替换数量
print(str_7.replace('e', '4', 1))   # 输出: h4llo, you need a book

# 2)、expandtabs() 使用空格替换字符串中的制表为\t

# 其他操作,

# 1)、maketrans(str1,str3) 两个等长的字符串中每个对应的位置的字符相互对调 str1是需要转换的字符,
# str2是转换的目标字符组成的字符串
#   str_7 = 'hello, you need a book'
test = str.maketrans('ned', '418')  # 建立一个映射表,将str1和str2生成一个由Unicode编码翻译后的字典,
# key就是str1,value是str2,str1和str2长度要相等
print(test) # 输出:{110: 52, 21495: 49, 100: 56}
# translate(dict) 使用dict作为翻译表,来进行对字符串进行修改
# 字符串的translate方法只接受一个参数,而bytes的translate方法是可以接收两个参数,而且第二个参数可以快速实现删除方法
print(str_7.translate(test))    # 输出:hello, you 41e8 a book

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值