python3基础语法——对String基本操作(拼接/切片/分割/连接/统计次数/检验是否包含/大小写/删除字符/格式化输出)

  1. 拼接(包含字符串拼接数字)
    (1)使用 “+” 作为字符串的拼接运算符
    (2)字符串与数字进行拼接时,需要将数字转换成字符串:使用 str() 或 repr() 函数

str1 = “这是:”
str2 = “Funny”
p = 99.8

print(str1+str2) # 结果为 这是:Funny
print(str1 + str§) # 使用str()将数值转换成字符串:这是:99.8
print(str1 + repr§) # 使用repr()将数值转换成字符串:这是:99.8
1
2
3
4
5
6
7
2. 切片
(1)使用索引进行切片,假设字符串的变量名为"str",则可以通过str[]如下操作:

方法名 功能描述
str[n] 取index=n的元素
str[n:m] 切片
str[:m] 切片从头开始取到index=m-1
str[n:] 切片从index=n的元素取到最后
str[:] 取全部
str[n: m: s] s:步长;从index=n的开始到index=m-1,隔多少个元素取一次
‘Charlie’[1:3] # 结果为:‘ha’
‘Charlie’[1:5:2] # 结果为:‘hr’
1
2
(2)内置的 min() 和 max() 函数获取字符串中最“小”字符和最“大”字符

str = ‘crazyit.org is very good’

min(str) # 结果为空格: ’ ’
max(str) # 结果为: ‘z’
1
2
3
4
3. 分割字符串:
str.split(sep,maxsplit) 方法可以实现将一个字符串按照指定的分隔符切分成多个子串,返回值为一个列表list,列表中包含被分割的子串

(1)str:表示要进行分割的字符串;
(2)sep:用于指定分隔符,可以包含多个字符。默认为 None,表示所有空字符;还可以是空格、换行符“\n”、制表符“\t”等。
(3)maxsplit:可选参数,用于指定分割的次数。默认值为 -1,表示分割次数没有限制。

str = ‘crazyit…org is very good’

str.split(" “) # 结果为:[‘crazyit…org’, ‘is’, ‘very’, ‘good’]
str.split(”.") # 结果为:[‘crazyit’, ‘’, ‘org is very good’] 因为str中有两个.所以会分割出来一个空字符
1
2
3
4
4. 连接字符串
使用 ‘delimiter’.join(data) 方法合并字符串时,它会将列表(或元组)中多个字符串采用固定的分隔符连接在一起

(1)delimiter:用于指定合并时的分隔符;
(2)data:做合并操作的源字符串数据,允许以列表、元组等形式提供。

list = [‘c’,‘biancheng’,‘net’]

‘.’.join(list) # 结果为:‘c.biancheng.net’
1
2
3
5. 统计字符串出现的次数
str.count() 方法用于检索指定字符串在另一字符串中出现的次数,如果检索的字符串不存在,则返回 0,否则返回出现的次数。

方法名 功能描述
str.count(“X”) 检索整个字符串str中“X”的个数,可以是符号或者字符等
str.count(‘X’, n) 从index=n 开始检索字符串str,计算“X”的个数
str.count(‘X’,n,m) 从index=n 开始检索,检索到index=m的位置,计算“X”在字符串中的个数
6. 检测字符串中是否包含某子串
(1) in 运算符判断是否包含某个子串,返回布尔值

str = ‘crazyit.org is very good’

‘very’ in str # 结果为: True
‘fkit’ in str # 结果为: False
1
2
3
4
(2)str.find():检索字符串中是否包含目标字符串,如果包含,则返回第一次出现该字符串的索引;反之,则返回 -1。

方法名 功能描述
str.find(“X”) 检索整个字符串str中是否包含“X”,返回其索引值
str.find(‘X’, n) 从index=n 开始检索字符串str,包含“X”,返回其索引值
str.find(‘X’,n,m) 从index=n 开始检索,检索到index=m的位置,如果包含“X”,返回其索引值
(3)str.index() :检索是否包含指定的字符串,当指定的字符串不存在时,抛出异常。(使用方法和.find()一致)

  1. 大小写转换
    (1)str.title():将字符串的首字母大写,其他字母全部转为小写
    (2)str.upper():将字符串全部大写
    (3)str.lower():将字符串全部小写

  2. 去除字符串中空格或指定字符
    其中,特殊字符指:制表符(\t)、回车符(\r)、换行符(\n)等

(1)str.strip():删除字符串前后(左右两侧)的空格或特殊字符,默认值为删除空格;返回一个新的字符串,不修改原字符串
(2)str.lstrip():删除字符串前面(左边)的空格或特殊字符,默认值为删除空格;返回一个新的字符串,不修改原字符串
(3)str.rstrip():删除字符串后面(右边)的空格或特殊字符,默认值为删除空格;返回一个新的字符串,不修改原字符串

str = " c.biancheng.net \t\n\r"

str.strip() # 结果为 ‘c.biancheng.net’
str.strip(" ,\r") # 结果为 ’ c.biancheng.net \t\n’
str # 没有修改原字符串,结果为: ’ c.biancheng.net \t\n\r’
1
2
3
4
5
9. 格式化输出
str.format()方法会返回一个新的字符串,在新的字符串中,原字符串的替换字段(大括号中和数字是预留的替换字段)被format方法中的参数代替。具体的情况如下:

(1)按照位置

‘按照位置输出:{},{}’.format(‘kfc’,18) # 结果为:‘按照位置输出:kzc,18’
print(“第一个是:{} ; 第二个是:{}”.format(‘kzc’,18)) # 结果为:第一个是:kzc ; 第二个是:18

‘{1},{0},{1}’.format(‘kfc’,18) # 结果为: ‘18,kzc,18’(根据format()传入参数的顺序,将’kfc’设置为0;18设置为1)
1
2
3
4
(2)按照字段名

“{who}今年已经{0}岁了”.format(30,who=“我”) # 按照位置与按照字段名同时使用:‘我今年已经30岁了’
1
(3)如果传入format()的是列表

name=[“我”,“你”,“他”]
age=[20,30,40,50]
“{0[0]}和{0[1]}是好朋友,已经认识{1[3]}年了”.format(name,age) # 结果为:我和你是好朋友,已经认识
————————————————
版权声明:本文为CSDN博主「牛奶没法用」的原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_42969619/article/details/93893943

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值