Python 字符串str详解(超详细)(四)

简介: Python 字符串str详解(超详细)(四)

5.10 拆分字符串(返回元组) partition()、rpartition()

1、partition()方法

partition() 方法搜索指定的字符串,并将该字符串拆分为包含三个元素的元组。

第一个元素包含指定字符串之前的部分,第二个元素包含指定的字符串,第三个元素包含字符串后面的部分。

注释:此方法搜索指定字符串的第一个匹配项。

语法

string.partition(value)

参数值

参数 描述
value 必需。要检索的字符串。

实例

  • 搜索单词 “bananas”,并返回包含三个元素的元组:
  • 1 - “匹配”之前的所有内容
  • 2 - “匹配”
  • 3 - “匹配”之后的所有内容
txt = "I could eat bananas all day"
x = txt.partition("bananas")
print(x)
('I could eat ', 'bananas', ' all day')
  • 如果找不到指定的值,则 partition() 方法将返回一个元组,其中包含:1 - 整个字符串,2 - 空字符串,3 - 空字符串:
txt = "I could eat bananas all day"
x = txt.partition("apples")
print(x)
('I could eat bananas all day', '', '')

2、rpartition()方法

rpartition() 方法搜索指定字符串的最后一次出现,并将该字符串拆分为包含三个元素的元组。

第一个元素包含指定字符串之前的部分,第二个元素包含指定的字符串,第三个元素包含字符串之后的部分。

语法

string.rpartition(value)

参数值

参数 描述
value 必需。要检索的字符串。

实例

  • 搜索单词 “bananas” 的最后一次出现,并返回包含三个元素的元组:
  • 1 - “匹配”之前的所有内容
  • 2 - “匹配”
  • 3 - “匹配”之后的所有内容
txt = "I could eat bananas all day, bananas are my favorite fruit"
x = txt.rpartition("bananas")
print(x)
('I could eat bananas all day, ', 'bananas', ' are my favorite fruit')
  • 如果找不到指定的值,则 rpartition() 方法将返回一个元组,其中包含:1 - 整个字符串,2 - 一个空字符串,3 - 一个空字符串:
txt = "I could eat bananas all day, bananas are my favorite fruit"
x = txt.rpartition("apples")
print(x)
('', '', 'I could eat bananas all day, bananas are my favorite fruit')

5.11 字符串转换 maketrans()、translate()

1、maketrans()方法

maketrans() 方法用于创建字符映射的转换表,对于接受两个参数的最简单的调用方式,第一个参数是字符串,表示需要转换的字符,第二个参数也是字符串表示转换的目标。

两个字符串的长度必须相同,为一一对应的关系。

语法

string.maketrans(x[, y[, z]])

参数值

参数 描述
x 必需,字符串中要替代的字符组成的字符串。
y 可选,相应的映射字符的字符串。
z 可选,要删除的字符。

2、translate()方法

translate() 返回被转换的字符串。

实例

  • 字母 B 替换为 b
txt = "www.Baidu.com"
url = txt.maketrans('B', 'b')
print(txt.translate(url))
www.baidu.com
  • 使用字符串设置要替换的字符,一一对应
x = "aeiou"
y = "12345"
trans = str.maketrans(x, y)
str1 = "this is a string"
print(str1.translate(trans))
th3s 3s 1 str3ng
  • 设置要删除的字符参数:
txt = "baidu z alibaba  Z tencent"
x = "bat"
y = "BAT"
z = "zZ"  # 设置删除的字符
trans = txt.maketrans(x, y, z)
print(txt.translate(trans))
print(trans)
BAidu  AliBABA   TencenT
{98: 66, 97: 65, 116: 84, 122: None, 90: None

5.12 元组项目连接到字符串 join()

join()方法

join() 方法用于将序列中的元素以指定的字符连接生成一个新的字符串。

语法

string.join(iterable)

参数值

参数 描述
iterable 必需。所有返回值均为字符串的任何可迭代对象。

实例

  • 使用哈希字符作为分隔符,将元组中的所有项目连接到字符串中:
tuple_1 = ("baidu", "alibaba", "tencent")
x = "#".join(tuple_1)
print(x)
baidu#alibaba#tencent
  • 使用单词 “TEST” 作为分隔符,将字典中的所有项目连接成一个字符串:
dict_1 = {"name": "Bill", "country": "USA"}
separator = "TEST"
x = separator.join(dict_1)
print(x)
nameTESTcountry

5.13 字符串替换 replace()

replace()方法

replace() 方法把字符串中的 old(旧字符串) 替换成 new(新字符串),如果指定第三个参数max,则替换不超过 max 次。

语法

string.replace(oldvalue, newvalue, count)

参数值

参数 描述
oldvalue 必需。要检索的字符串。
newvalue 必需。替换旧值的字符串。
count 可选。数字,指定要替换的旧值出现次数。默认为所有的出现。

实例

  • 替换单词 “bananas”:
txt = "I like bananas"
x = txt.replace("bananas", "apples")
print(x)
I like apples
  • 替换所有出现的单词 “one”:
txt = "one one was a race horse, two two was one too."
x = txt.replace("one", "three")
print(x)
three three was a race horse, two two was three too.
  • 替换前两次出现的单词 “one”:
txt = "one one was a race horse, two two was one too."
x = txt.replace("one", "three", 2)
print(x)
three three was a race horse, two two was one too.

5.14 字符串 Tab 转换 expandtabs()

expandtabs()方法

expandtabs() 方法把字符串中的 tab 符号 \t 转为空格,tab 符号 \t 默认的空格数是 8,在第 0、8、16…等处给出制表符位置,如果当前位置到开始位置或上一个制表符位置的字符数不足 8 的倍数则以空格代替。

语法

string.exandtabs(tabsize)

参数值

参数 描述
tabsize 可选。规定制表符大小的数字。默认的 tabsize 是 8。

实例

  • 将制表符大小设置为 2 个空格:
txt = "H\te\tl\tl\to"
x = txt.expandtabs(2)
print(x)
H e l l o
  • 请看看不同制表符大小的结果:
txt = "H\te\tl\tl\to"
print(txt)
print(txt.expandtabs())
print(txt.expandtabs(2))
print(txt.expandtabs(4))
print(txt.expandtabs(10))
H e l l o
H       e       l       l       o
H e l l o
H   e   l   l   o
H         e         l         l         o

6、总结

函数 描述
print() 打印输出
len() 确定字符串长度
type() 返回变量类型
str() 转换为字符串
max() 字符串最大字符
min() 字符串最小字符
del 删除字符串
方法 描述
capitalize() 把首字符转换为大写
casefold() 把字符串转换为小写(处理其他语言且存在大小写)
lower() 把字符串转换为小写
islower() 如果字符串中的所有字符都是小写,则返回 True
upper() 把字符串转换为大写
isupper() 如果字符串中的所有字符都是大写,则返回 True
title() 返回"标题化"字符串:所有单词都以大写开始,其余字母均为小写
istitle() 如果字符串遵循标题规则,则返回 True
swapcase() 将字符串中大写转换为小写,小写转换为大写
count(str, beg, end) 返回str出现的次数,beg和end指定范围
find(str, beg, end) 搜索指定的值并返回该位置,beg 和 end 指定范围,不存在返回-1
index(str, beg, end) 搜索指定的值并返回该位置,beg 和 end 指定范围,不存在报异常
rfind(str, beg, end) 类似于 find() ,不过是从右边开始
rindex( str, beg, end) 类似于 index(),不过是从右边开始
startswith(str, beg, end) 检查是否以 str 开头,beg 和 end 指定范围,如果是,返回 True,否则返回 False
endswith(str, beg, end) 检查是否以 str 结束,beg 和 end 指定范围,如果是,返回 True,否则返回 False
encode(‘UTF-8’, ‘strict’) 编码,出错默认报 ValueError 异常,除非 errors 指定的是’ignore’或者’replace’
decode(‘UTF-8’, ‘strict’) 解码,出错默认报 ValueError 异常,除非 errors 指定的是’ignore’或者’replace’
center(width, fillchar) 返回一个指定的宽度width居中的字符串,fillchar为填充的字符,默认为空格
ljust(width, fillchar) 字符串左对齐,并使用 fillchar 填充至长度 width 的新字符串,fillchar 默认为空格
rjust(width, fillchar) 字符串右对齐,并使用 fillchar 填充至长度 width 的新字符串,fillchar 默认为空格
zfill (width) 返回长度为 width 的字符串,原字符串右对齐,前面填充0
lstrip() 删除字符串左边的空格或指定字符
rstrip() 删除字符串末尾的空格或指定字符
strip() 在字符串上执行 lstrip()和 rstrip(),返回字符串的剪裁版本
isspace() 如果字符串中的所有字符都是空白字符,则返回 True
isprintable() 如果字符串中的所有字符都是可打印的,则返回 True
isidentifier() 如果字符串是标识符,则返回 True
isalnum() 如果字符串至少有一个字符并且所有字符都是字母或数字则返回 True,否则返回 False
isalpha() 如果字符串至少有一个字符并且所有字符都是字母或中文字则返回 True, 否则返回 False
isdigit() 如果字符串只包含数字则返回 True ,否则返回 False
isnumeric() 如果字符串中的所有字符都是数字,则返回 True
isdecimal() 检查所有字符是否都是十进制数(0~9),是则返回 True, 否则返回 False
format() 格式化字符串中的指定值
format_map() 格式化字符串中的指定值(字典)
split(str, num) 以 str 为分隔符截取,若 num 指定,则截取 num+1 个子字符串,并返回列表(从左)
rsplit() 以 str 为分隔符截取,若 num 指定,则截取 num+1 个子字符串,并返回列表(从右)
splitlines() 在换行符处拆分字符串并返回列表
partition() 返回元组,其中的字符串分为三部分(搜索 str 第一次出现)
rpartition() 返回元组,其中的字符串分为三部分(搜索 str 最后出现)
maketrans(x[, y[, z]]) x – 必需,要替代的字符串, y – 可选,相应映射的字符串, z – 可选,要删除的字符
translate() 返回被转换的字符串
join() 使用字符作为分隔符,将元组中的所有项目连接到字符串中
replace(old, new [, max]) 将字符串中的 old 替换成 new,如果 max 指定,则替换不超过 max
expandtabs(tabsize) 把字符串 string 中的 tab 符号转为空格,tab 符号默认的空格数是 8

以上就是本文的全部内容啦!如果对您有帮助,麻烦点赞啦!收藏啦!欢迎各位评论区留言!!!

最后编辑于:2022/7/31 16:27

目录
打赏
0
0
0
0
3
分享
相关文章
python字符串类型及操作
本文主要讲解字符串类型的表示、操作符、处理函数、处理方法及格式化。内容涵盖字符串的定义、表示方法(单双引号、三引号)、索引与切片、特殊字符转义、常见操作符(如+、*、in等)、处理函数(如len()、str()、chr()等)、处理方法(如.lower()、.split()等)以及格式化方式(如.format())。通过实例代码详细介绍了字符串的各种用法和技巧,帮助读者全面掌握字符串操作。
python字符串类型及操作
|
4月前
|
在 Python 中,如何将日期时间类型转换为字符串?
在 Python 中,如何将日期时间类型转换为字符串?
249 64
|
4月前
|
在 Python 中,如何将字符串中的日期格式转换为日期时间类型?
在 Python 中,如何将字符串中的日期格式转换为日期时间类型?
179 62
[oeasy]python061_如何接收输入_input函数_字符串_str_容器_ 输入输出
本文介绍了Python中如何使用`input()`函数接收用户输入。`input()`函数可以从标准输入流获取字符串,并将其赋值给变量。通过键盘输入的值可以实时赋予变量,实现动态输入。为了更好地理解其用法,文中通过实例演示了如何接收用户输入并存储在变量中,还介绍了`input()`函数的参数`prompt`,用于提供输入提示信息。最后总结了`input()`函数的核心功能及其应用场景。更多内容可参考蓝桥、GitHub和Gitee上的相关教程。
38 0
Python 中别再用 ‘+‘ 拼接字符串了!
通过选择合适的字符串拼接方法,可以显著提升 Python 代码的效率和可读性。在实际开发中,根据具体需求和场景选择最佳的方法,避免不必要的性能损失。
80 5
|
3月前
|
使用Python计算字符串的SHA-256散列值
使用Python计算字符串的SHA-256散列值
103 7
|
5月前
|
【10月更文挑战第6天】「Mac上学Python 11」基础篇5 - 字符串类型详解
本篇将详细介绍Python中的字符串类型及其常见操作,包括字符串的定义、转义字符的使用、字符串的连接与格式化、字符串的重复和切片、不可变性、编码与解码以及常用内置方法等。通过本篇学习,用户将掌握字符串的操作技巧,并能灵活处理文本数据。
78 1
【10月更文挑战第6天】「Mac上学Python 11」基础篇5 - 字符串类型详解
【速收藏】python字符串操作,你会几个?
【速收藏】python字符串操作,你会几个?
111 7
Python学习四:流程控制语句(if-else、while、for),高级数据类型(字符串、列表、元组、字典)的操作
这篇文章主要介绍了Python中的流程控制语句(包括if-else、while、for循环)和高级数据类型(字符串、列表、元组、字典)的操作。
83 0
|
5月前
|
Python操作:字符串--列表--元组--字典--运算符 (一)
Python操作:字符串--列表--元组--字典--运算符 (一)
41 0