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 字符串截取 (切片)

strnamestart : 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(" ")#重复并拼接
相关推荐
学传打活5 天前
【边打字.边学昆仑正义文化】_进阶篇5 宇宙星系的运转(续3)
微信公众平台·1024程序员节·汉字·昆仑正义文化
学传打活10 天前
【边打字.边学昆仑正义文化】_进阶篇5 宇宙星系的运转(续1)
微信公众平台·1024程序员节·汉字·昆仑正义文化
fangzhanpeng16818 天前
快速掌握C#语言基础知识点(1.基础数据类型)
开发语言·c#·1024程序员节
无己心20 天前
面向多平台 AI 搜索引擎的适配层架构设计
前端·人工智能·搜索引擎·ai·1024程序员节
u0103055271 个月前
AI驱动的安卓UI自动生成功能实现
人工智能·1024程序员节
u0103055271 个月前
长株潭智能体赋能腾讯元器链接共享
1024程序员节
云贝贝贝1 个月前
OceanBase认证体系介绍与备考指南
运维·服务器·oceanbase·1024程序员节
u0103055271 个月前
Java图像处理实战指南
人工智能·1024程序员节
u0103055271 个月前
Java AWT鼠标事件全解析
人工智能·1024程序员节
u0103055271 个月前
Java实用类应用精讲
人工智能·1024程序员节