❤️ 博客主页:水滴技术
🌸 订阅专栏:Python 入门核心技术
🚀 支持水滴:点赞👍 + 收藏⭐ + 留言💬
文章目录
- 一、索引和切片
- 二、字符串长度
- 三、查找和替换
- 四、大小写转换
- 五、分割和连接
- 六、去除空白字符
- 七、格式化字符串
- 八、其他方法
- 系列文章
- 热门专栏
大家好,我是水滴~~
Python是一种非常流行的编程语言,它提供了许多字符串处理的方法和函数。在本文中,我们将介绍Python操作字符串的常用方法,以便您可以更好地处理和操作字符串。
一、索引和切片
可以使用索引和切片来获取字符串中的字符或子串。索引从 0 开始,负数表示从右往左数第几个字符。切片的语法为 [start:end:step]
,其中 start 表示起始索引(包含),end 表示结束索引(不包含),step 表示步长。例如:
s = "hello, world"
print(s[0]) # 输出 "h"
print(s[-1]) # 输出 "d"
print(s[7:12]) # 输出 "world"
print(s[::-1]) # 输出 "dlrow ,olleh"
二、字符串长度
可以使用 len()
函数来获取字符串的长度,即字符串中字符的个数。例如:
s = "hello, world"
print(len(s)) # 输出 12
三、查找和替换
-
find(sub[, start[, end]]):在字符串中查找指定子串 sub 并返回第一个匹配的位置,可指定起始和终止位置,找不到则返回 -1。
-
index(sub[, start[, end]]):在字符串中查找指定子串 sub 并返回第一个匹配的位置,可指定起始和终止位置,找不到则抛出 ValueError 异常。
-
replace(old, new[, count]):将字符串中的指定子串 old 替换为 new,可指定替换次数。
# find() 示例
s = "hello, world"
index = s.find("o")
print(index) # 输出 4
# index() 示例
s = "hello, world"
index = s.index("o")
print(index) # 输出 4
# replace() 示例
s = "hello, world"
new_s = s.replace("o", "0")
print(new_s) # 输出 "hell0, w0rld"
四、大小写转换
-
upper():将字符串中所有字母转换为大写。
-
lower():将字符串中所有字母转换为小写。
-
capitalize():将字符串的第一个字符转换为大写字母,其他字符转换为小写字母。
-
casefold():将字符串中所有字符转换为小写字母,包括特殊字符。
-
swapcase():将字符串中所有大写字母转换为小写字母,所有小写字母转换为大写字母。
# upper() 和 lower() 示例
s = "Hello, World"
print(s.upper()) # 输出 "HELLO, WORLD"
print(s.lower()) # 输出 "hello, world"
# capitalize() 示例
s = "hello, world"
print(s.capitalize()) # 输出 "Hello, world"
# casefold() 示例
s = "HELLO, WORLD!"
print(s.casefold()) # 输出 "hello, world!"
# swapcase() 示例
s = "Hello, World"
print(s.swapcase()) # 输出 "hELLO, wORLD"
五、分割和连接
-
split([sep[, maxsplit]]):按照指定分隔符分割字符串,返回一个列表,可指定分割次数。
-
rsplit([sep[, maxsplit]]):从字符串右侧开始按照指定分隔符分割字符串,返回一个列表,可指定分割次数。
-
join(iterable):用指定的字符串连接可迭代对象中的字符串元素。
# split() 和 rsplit() 示例
s = "hello, world"
print(s.split()) # 输出 ['hello,', 'world']
print(s.split(",")) # 输出 ['hello', ' world']
print(s.rsplit(",", 1)) # 输出 ['hello', ' world']
# join() 示例
words = ["hello", "world"]
s = "-".join(words)
print(s) # 输出 "hello-world"
六、去除空白字符
-
strip([chars]):去除字符串两侧指定字符或空白字符。
-
lstrip([chars]):去除字符串左侧指定字符或空白字符。
-
rstrip([chars]):去除字符串右侧指定字符或空白字符。
# strip()、lstrip() 和 rstrip() 示例
s = " hello, world "
print(s.strip()) # 输出 "hello, world"
print(s.lstrip()) # 输出 "hello, world "
print(s.rstrip()) # 输出 " hello, world"
# strip() 指定字符示例
s = "***hello, world***"
print(s.strip("*")) # 输出 "hello, world"
七、格式化字符串
-
format(*args, **kwargs):格式化字符串,支持位置参数和关键字参数。
-
format_map(mapping):格式化字符串,使用字典中的键值对替换字符串中的占位符。
# format() 示例
name = "Alice"
age = 25
s = "My name is {} and I am {} years old.".format(name, age)
print(s) # 输出 "My name is Alice and I am 25 years old."
# format_map() 示例
person = {'name': 'Bob',age': 30}
s = "My name is {name} and I am {age} years old.".format_map(person)
print(s) # 输出 "My name is Bob and I am 30 years old."
八、其他方法
-
encode(encoding=‘utf-8’, errors=‘strict’):将字符串编码为指定编码格式的 bytes 对象。
-
isdigit():判断字符串是否全部由数字组成。
-
isalpha():判断字符串是否全部由字母组成。
-
isalnum():判断字符串是否全部由字母和数字组成。
-
isspace():判断字符串是否全部由空白字符组成。
-
islower():判断字符串中所有字母是否都是小写。
-
isupper():判断字符串中所有字母是否都是大写。
-
startswith(prefix[, start[, end]]):判断字符串是否以指定的前缀开头,可指定起始和终止位置。
-
endswith(suffix[, start[, end]]):判断字符串是否以指定的后缀结尾,可指定起始和终止位置。
-
count(sub[, start[, end]]):返回字符串中指定子串 sub 出现的次数,可指定起始和终止位置。
# encode() 示例
s = "hello, world"
b = s.encode("utf-8")
print(b) # 输出 b'hello, world'
# isdigit()、isalpha() 和 isalnum() 示例
s1 = "123"
s2 = "abc"
s3 = "123abc"
print(s1.isdigit()) # 输出 True
print(s2.isalpha()) # 输出 True
print(s3.isalnum()) # 输出 True
# isspace() 示例
s = " "
print(s.isspace()) # 输出 True
# islower() 和 isupper() 示例
s1 = "hello, world"
s2 = "HELLO, WORLD"
print(s1.islower()) # 输出 True
print(s2.isupper()) # 输出 True
# startswith() 和 endswith() 示例
s = "hello, world"
print(s.startswith("hello")) # 输出 True
print(s.endswith("world")) # 输出 True
# count() 示例
s = "hello, world"
print(s.count("l")) # 输出 3
以上是 Python 字符串方法的分类介绍和示例代码,不同的方法可以根据需要进行选择和组合使用,使得字符串处理变得更加高效和方便。
系列文章
🔥 Python 进阶(一):PyCharm 下载、安装和使用
热门专栏
👍 《Python入门核心技术》
👍 《IDEA 教程:从入门到精通》
👍 《Java 教程:从入门到精通》
👍 《MySQL 教程:从入门到精通》
👍 《大数据核心技术从入门到精通》