目录
[1, f' ' 字符串格式 用法](#1, f' ' 字符串格式 用法)
[2,格式化处理 大小写 输出](#2,格式化处理 大小写 输出)
[3, python3 去除空格处理:](#3, python3 去除空格处理:)
[4 、python3 字符串截取 (切片)](#4 、python3 字符串截取 (切片))
[6、 字符串填充或者剔除某些信息](#6、 字符串填充或者剔除某些信息)
[7、 字符串的分割与合并](#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)
总结
- ^, <, > 分别是居中、左对齐、右对齐,后面带宽度
- : 号后面带填充的字符,只能是一个字符,不指定则默认是用空格填充
- 表示在正数前显示 +,负数前显示 -
- (空格)表示在正数前加空格
- b、d、o、x 分别是二进制、十进制、八进制、十六进制
2,格式化处理 大小写 输出
.lower() --- 全部小写
.upper() --- 全部大写
.title() --- 各个字符的首字母大写
.capitalize() --- 首字母大写
.swapcase() ---大小写对调
python
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() --- 再拼接
python
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,当省略该值时,最后一个冒号也可以省略。
python
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(" ")#重复并拼接