python3 学习记录 字符串处理

目录

[1, f' ' 字符串格式 用法](#1, f' ' 字符串格式 用法)

常见数字格式化

结合进制的数字格式化

总结

[2,格式化处理 大小写 输出](#2,格式化处理 大小写 输出)

[3, python3 去除空格处理:](#3, python3 去除空格处理:)

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

5、字符串的搜索

[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)

总结

  1. ^, <, > 分别是居中、左对齐、右对齐,后面带宽度
  2. : 号后面带填充的字符,只能是一个字符,不指定则默认是用空格填充
    • 表示在正数前显示 +,负数前显示 -
  3. (空格)表示在正数前加空格
  4. 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(" ")#重复并拼接
相关推荐
惜.己1 天前
Jmeter中的断言(二)
测试工具·jmeter·1024程序员节
西电研梦1 天前
考研倒计时30天丨和西电一起向前!再向前!
人工智能·考研·1024程序员节·西电·西安电子科技大学
惜.己1 天前
Jmeter中的断言(四)
测试工具·jmeter·1024程序员节
·云扬·2 天前
Java IO 与 BIO、NIO、AIO 详解
java·开发语言·笔记·学习·nio·1024程序员节
网安_秋刀鱼2 天前
PHP代码审计 --MVC模型开发框架&rce示例
开发语言·web安全·网络安全·php·mvc·1024程序员节
HUODUNYUN2 天前
小程序免备案:快速部署与优化的全攻略
服务器·网络·web安全·小程序·1024程序员节
惜.己3 天前
Jmeter的后置处理器(二)
测试工具·github·1024程序员节
惜.己3 天前
Jmeter中的断言(一)
测试工具·jmeter·1024程序员节
cainiao0806053 天前
《物理学进展》
1024程序员节·核心期刊·知网期刊·职称评审
FFDUST3 天前
C++ —— string类(上)
c语言·开发语言·数据结构·c++·stl·1024程序员节