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

目录
相关文章
|
11天前
|
Python
【10月更文挑战第6天】「Mac上学Python 11」基础篇5 - 字符串类型详解
本篇将详细介绍Python中的字符串类型及其常见操作,包括字符串的定义、转义字符的使用、字符串的连接与格式化、字符串的重复和切片、不可变性、编码与解码以及常用内置方法等。通过本篇学习,用户将掌握字符串的操作技巧,并能灵活处理文本数据。
46 1
【10月更文挑战第6天】「Mac上学Python 11」基础篇5 - 字符串类型详解
|
9天前
|
自然语言处理 Java 数据处理
【速收藏】python字符串操作,你会几个?
【速收藏】python字符串操作,你会几个?
39 7
|
19天前
|
索引 Python
Python 高级编程:深入探索字符串切片
在Python中,字符串切片功能强大,可灵活提取特定部分。本文详细介绍切片技巧:基本切片、省略起始或结束索引、使用负数索引、设定步长及反转字符串等。此外,还介绍了如何结合其他操作进行切片处理,如先转换大小写再提取子串。 来源:https://www.wodianping.com/yeyou/2024-10/48238.html
29 4
|
1月前
|
网络协议 网络安全 开发者
Python 向IP地址发送字符串
Python 向IP地址发送字符串
32 2
|
1月前
|
Python
Python 中取字符串中等于号后面的内容
Python 中取字符串中等于号后面的内容在编程过程中,我们经常需要从字符串中提取特定的信息。一个常见的任务是在给定的字符串中查找等于号(=)后面的内容。这种需求在解析配置文件、处理查询字符串或分析日志数据时尤其常见。 如何实现 在Python中,我们可以使用多种方法来实现此功能。以下是几种常用的方法,包括字符串操作和正则表达式。 方法 1:使用字符串分割 我们可以使用字符串的 split() 方法将字符串拆分为两个部分,然后提取等于号后的值。 示例代码 ----------------------------------- ©著作权归作者所有:来自51CTO博客作者bruce_xiao
28 1
|
11天前
|
存储 安全 Serverless
Python学习四:流程控制语句(if-else、while、for),高级数据类型(字符串、列表、元组、字典)的操作
这篇文章主要介绍了Python中的流程控制语句(包括if-else、while、for循环)和高级数据类型(字符串、列表、元组、字典)的操作。
24 0
|
18天前
|
Python
Python操作:字符串--列表--元组--字典--运算符 (一)
Python操作:字符串--列表--元组--字典--运算符 (一)
14 0
|
18天前
|
Python
Python操作:字符串--列表--元组--字典--运算符 (二)
Python操作:字符串--列表--元组--字典--运算符 (二)
16 0
|
29天前
|
物联网 Python
python向IP地址发送字符串
python向IP地址发送字符串
25 0
|
1月前
|
JSON 数据格式 Python
6-1|Python如何将json转化为字符串写到文件内 还保留json格式
6-1|Python如何将json转化为字符串写到文件内 还保留json格式