Python 字符串操作完全指南:替换、连接、分割、反转、大小写转换
在 Python 中,一切皆对象——包括字符串。字符串就是用引号括起来的字符序列。
示例:var = "Hello World!"
本指南通过真实示例和最佳实践,讲解最常用字符串操作。
- 切片访问字符
- 字符串运算符与拼接
- 替换子串
- 大小写转换 (upper/lower/capitalize)
join灵活拼接- 反转字符串
- 分割字符串
访问字符串字符
Python 无独立字符类型;单字符即长度为 1 的字符串。用方括号和索引切片。
var1 = "Guru99!"
var2 = "Software Testing"
print("var1[0]:", var1[0])
print("var2[1:5]:", var2[1:5])
输出:var1[0]: G
var2[1:5]: oftw
字符串运算符
运算符实现快速操作:
| 运算符 | 描述 | 示例 |
|---|---|---|
| [] | 访问单字符 | x = "Guru"; print(x[1]) 输出 "u" |
| [:] | 切片范围(末尾不含) | x = "Guru"; print(x[1:3]) 输出 "ur" |
| in / not in | 成员检测 | print("u" in x) True |
| r/R | 原始字符串(忽略转义) | print(r"\n") 输出 "\\n" |
| % | 旧式格式化 | print('%s %d' % ('guru', 99)) "guru 99" |
| + | 拼接两字符串 | print("Guru" + "99") "Guru99" |
| * | 重复字符串 | print("Guru" * 2) "GuruGuru" |
更新字符串
字符串不可变,重新赋值变量为新值。
x = "Hello World!"
print(x[:6]) # "Hello"
print(x[0:6] + "Guru99") # "Hello Guru99"
替换子串
replace() 返回所有出现被替换的新字符串。
old = "I like Guru99"
new = old.replace('like', 'love')
print(new) # "I love Guru99"
大小写转换
转大写、小写、首字母大写。
text = "python at guru99"
print(text.upper()) # "PYTHON AT GURU99"
print(text.capitalize()) # "Python at guru99"
print(text.upper().lower()) # 回到小写
连接字符
join() 用分隔符拼接字符串可迭代对象。
print(":".join("Python")) # "P:y:t:h:o:n"
反转字符串
用 reversed() 和 join() 反转。
s = "12345"
print(''.join(reversed(s))) # "54321"
分割字符串
按分隔符拆分为列表。
sentence = "guru99 career guru99"
print(sentence.split(' ')) # ['guru99', 'career', 'guru99']
print(sentence.split('r')) # ['gu', 'u99 ca', 'ee', ' gu', 'u99']
不可变性提醒
字符串不可原地修改。replace() 等方法返回新字符串。
x = "Guru99"
print(x.replace("Guru99", "Python")) # 仍是 "Guru99"
# 捕获变化需重新赋值
x = x.replace("Guru99", "Python")
print(x) # "Python"
Python 2 兼容代码
下方为 Python 2 等价代码(print 语句无括号)。
# 访问值
var1 = "Guru99!"; var2 = "Software Testing"
print "var1[0]:", var1[0]; print "var2[1:5]:", var2[1:5]
# 更新示例
x = "Hello World!"; print x[:6]; print x[0:6] + "Guru99"
# 替换示例
old = 'I like Guru99'; print old.replace('like', 'love')
# 大小写转换
text = "python at guru99"; print text.upper(); print text.capitalize(); print text.lower()
# join
print ":".join("Python")
# 反转
s = "12345"; print ''.join(reversed(s))
# 分割
word = "guru99 career guru99"; print word.split(' '); print word.split('r')
# 不可变性演示
x = "Guru99"; print x.replace("Guru99", "Python"); x = x.replace("Guru99", "Python"); print x
总结
- 用切片 (
[],[:]) 精准访问字符。 - 利用字符串运算符 (+, *, in, not in) 拼接与成员检测。
- 用
replace()替换子串;记住它返回新串。 upper(),lower(),capitalize()转换大小写。join()配合任意分隔符灵活拼接。reversed()+join()反转,split()分割。- 因不可变性,务必重新赋值捕获变化。
Python
- C 语言字符串完全指南:声明、输入输出与库函数详解
- Python print() 函数完全指南:基础用法、空行打印与自定义结束符
- Python strip() 方法完全指南:去除首尾空白与自定义字符实战
- Python str.count() 完全指南:统计字符与子串出现次数实战
- Python format() 字符串格式化完全指南:占位符、格式化规范、类与字典应用
- Python len() 函数实战指南:测量字符串、列表、元组、字典等对象长度
- Python 字符串 find() 方法完全指南:语法、参数、替代方案与计数技巧
- 精通 Python enumerate():为列表、元组、字符串、字典带索引循环
- 精通 Java 字符串:创建、方法与最佳实践
- 精通 Java 枚举字符串表示:默认行为、toString 重写与进阶模式
- Java 字符串替换大全:replace()、replaceAll() 与 replaceFirst() 详解
- Java String toLowerCase() 与 toUpperCase():区域感知的大小写转换