python3 学习记录 字符串处理

目录

1, f' ' 字符串格式 用法

常见数字格式化

结合进制的数字格式化

总结

2,格式化处理 大小写 输出

3, python3 去除空格处理:

4 、python3 字符串截取 (切片)

5、字符串的搜索

6、 字符串填充或者剔除某些信息

7、 字符串的分割与合并


1, f' ' 字符串格式 用法

这是Python3.6版本开始引入的一种字符串格式化的语法,称为f-string。它允许在字符串中使用花括号{}来引用Python中的变量或表达式,并将它们的值插入到字符串中。这种语法简单易懂,使得字符串格式化变得更加简洁和高效。

f-string以f或F开头,后面跟着一个带有花括号的表达式,花括号中可以放置要引用的变量或表达式。例如:

常见数字格式化

数字格式输出描述
3.1415926{:.2f}3.14保留小数点后两位
3.1415926{:+.2f}3.14带符号保留小数点后两位
-1{:-.2f}-1带符号保留小数点后两位
2.71828{:.0f}3不带小数
5{:0>2d}5数字补零(填充左边,宽度为2)
5{:x<4d}5xxx数字补x(填充右边,宽度为4)
1000000{:,}1,000,000以逗号分隔的数字格式
0.25{:.2%}25.00%百分比格式
1000000000{:.2e}1.00E+09指数记数法
13{:>10d}…13右对齐(默认,宽度为10, 表格默认居中,用‘.’代表空格)
13{:<10d}13…左对齐(宽度为10, 表格默认居中,用‘.’代表空格)
13{:^10d}…13…中间对齐(宽度为10, 表格默认居中,用‘.’代表空格)

结合进制的数字格式化

  • '{:b}'.format(11)
  • '{:d}'.format(11)
  • '{:o}'.format(11)
  • '{:x}'.format(11)
  • '{:#x}'.format(11)
  • '{:#X}'.format(11) 


总结

  1. ^, <, > 分别是居中、左对齐、右对齐,后面带宽度
  2. : 号后面带填充的字符,只能是一个字符,不指定则默认是用空格填充
  3. + 表示在正数前显示 +,负数前显示 -
  4. (空格)表示在正数前加空格
  5. b、d、o、x 分别是二进制、十进制、八进制、十六进制

2,格式化处理 大小写 输出

.lower() --- 全部小写

.upper() --- 全部大写

.title() --- 各个字符的首字母大写

.capitalize() --- 首字母大写

.swapcase() ---大小写对调

s = "python3 test"
print(s.lower())
print(s.upper())
print(s.title())
print(s.capitalize())

# python3 test
# PYTHON3 TEST
# Python3 Test
# Python3 test

3, python3 去除空格处理:

.strip() --- 删除两边空格

.lstrip() --- 删除左边空格

.rstrip() --- 删除右边空格

.replace(" ","") --- 删除所有空格

.split() --- 先切分,"".join() --- 再拼接

import sys
s = " * it is blank space test * "
print (s.lstrip())
print(s.rstrip())
print(s.strip())
s_new = s.replace(" ", "")
print(s_new)

* it is blank space test * 
 * it is blank space test *
* it is blank space test *
*itisblankspacetest*

4 、python3 字符串截取 (切片)

strname[start : end : step]

  • strname:要截取的字符串;
  • start:表示要截取的第一个字符所在的索引(截取时包含该字符)。如果不指定,默认为 0,也就是从字符串的开头截取;
  • end:表示要截取的最后一个字符所在的索引(截取时不包含该字符)。如果不指定,默认为字符串的长度;
  • step:指的是从 start 索引处的字符开始,每 step 个距离获取一个字符,直至 end 索引出的字符。step 默认值为 1,当省略该值时,最后一个冒号也可以省略。

import sys
s = "12345678987654321"
print(s[0:5])
print(s[1:3:2])
print(s[10:])  # 从10的所有项
print(s[::-1]) # 倒序输出


# 12345
# 2
# 7654321
# 12345678987654321

5、字符串的搜索

  • .count("o") #搜索并统计"o"出现的次数
  • .count("o",28) #搜索并统计,从第28位开始,"o"出现的次数
  • .startswith("only") #text以"only"开通
  • .startswith("only",2,10) #text的第3-9个字符以"only"开通
  • .find("you") #查找you
  • .replace("u","V",2)

6、 字符串填充或者剔除某些信息

  • "1999".rjust(10,"$")#前一个字符代表填充后字符串的总长度
  • "1999".rjust(5,"$")
  • "1999".zfill(9)#用0填充,类似 "1999".rjust(9,"0")
  • "1999".rjust(9,"0")
  • "1999".center(50) #在左右两边都假设空格
  • "   1999   ".strip()#去重左右两边的空格
  • "1999".strip("9")#去重左右两边的"9"
  • " 1999 ".strip("9")#去重左右两边的"9",两边是空格没有9

7、 字符串的分割与合并

  • text.replace("能",",")
  • text1=text.replace("能","\n")
  • print(text1)
  • print(text.replace("能","\n"))
  • text.split("能")#以"能"为结点把str拆成一个字列表
  • text.partition("能") #以"能"为结点把str拆成一个字元组
  • text.rpartition("能")
  • text1.splitlines()#识别空行进行分割
  • text1.split("\n")#同上分割空行
  • "@".join(text)#把@插入到str的每一个字符中
  • "12345".join("  ")#重复并拼接
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值