Python学习---高效字符串处理技巧

一、字符串拼接

1.1 使用 + 运算符

python 复制代码
str1 = "Hello"
str2 = "World"
result = str1 + " " + str2
print(result)  # 输出:Hello World

1.2 使用 join() 方法

join() 方法可以有效地连接多个字符串,尤其是在连接列表或其他可迭代对象时,非常高效。

python 复制代码
words = ["Hello", "World"]
result = " ".join(words)
print(result)  # 输出:Hello World

1.3 使用 f-strings (格式化字符串)

python 复制代码
name = "Alice"
age = 30
result = f"My name is {name} and I am {age} years old."
print(result)  # 输出:My name is Alice and I am 30 years old.

二、字符串分割

2.1 使用 split() 方法

split() 方法根据指定的分隔符将字符串分割为列表。

python 复制代码
sentence = "Python is awesome"
words = sentence.split()
print(words)  # 输出:['Python', 'is', 'awesome']

2.2 使用正则表达式进行分割

可以使用 re 模块的 split() 方法,支持更复杂的分割逻辑。

python 复制代码
import re

sentence = "Python,is,awesome"
words = re.split(',| ', sentence)
print(words)  # 输出:['Python', 'is', 'awesome']

三、去除空白字符

strip() 方法可以去除字符串头尾的空白字符;

lstrip() 方法去除左侧的空白字符;

rstrip() 方法去除右侧的空白字符。

python 复制代码
text = "  Hello World  "
clean_text = text.strip()
print(f"'{clean_text}'")  # 输出:'Hello World'

left_clean_text = text.lstrip()
right_clean_text = text.rstrip()
print(f"'{left_clean_text}', '{right_clean_text}'") 
# 输出:'Hello World  ', '  Hello World'

四、字符串查找、替换

4.1 查找

使用 in 关键字、find()、rfind()方法

in关键字:查看子字符串是否存在于字符串中;

find() 方法返回子字符串的第一个出现位置,找不到则返回 -1;

rfind() 则是从右侧开始查找。

python 复制代码
sentence = "Python is awesome"
result = "Python" in sentence
print(result)  # 输出:True

sentence = "Python is awesome. Python is dynamic."
first_occurrence = sentence.find("Python")
last_occurrence = sentence.rfind("Python")
print(first_occurrence, last_occurrence)  # 输出:0 19

4.2 替换

replace() 方法:将字符串中的某部分内容替换为新的内容,也可以删除特定部分;

正则表达式进行替换:复杂替换,可以使用 re 模块的 sub() 方法

python 复制代码
# replace
text = "Hello World"
new_text = text.replace("World", "Python")
print(new_text)  # 输出:Hello Python

# 正则表达式
import re
text = "Hello 123 World 456"
new_text = re.sub(r'\d+', '', text)
print(new_text)  # 输出:Hello  World 
相关推荐
_Kayo_4 小时前
node.js 学习笔记3 HTTP
笔记·学习
wyiyiyi7 小时前
【Web后端】Django、flask及其场景——以构建系统原型为例
前端·数据库·后端·python·django·flask
CCCC13101637 小时前
嵌入式学习(day 28)线程
jvm·学习
mit6.8247 小时前
[1Prompt1Story] 滑动窗口机制 | 图像生成管线 | VAE变分自编码器 | UNet去噪神经网络
人工智能·python
没有bug.的程序员7 小时前
JVM 总览与运行原理:深入Java虚拟机的核心引擎
java·jvm·python·虚拟机
甄超锋7 小时前
Java ArrayList的介绍及用法
java·windows·spring boot·python·spring·spring cloud·tomcat
星星火柴9368 小时前
关于“双指针法“的总结
数据结构·c++·笔记·学习·算法
小狗爱吃黄桃罐头8 小时前
正点原子【第四期】Linux之驱动开发篇学习笔记-1.1 Linux驱动开发与裸机开发的区别
linux·驱动开发·学习
AntBlack8 小时前
不当韭菜V1.1 :增强能力 ,辅助构建自己的交易规则
后端·python·pyqt
艾莉丝努力练剑9 小时前
【洛谷刷题】用C语言和C++做一些入门题,练习洛谷IDE模式:分支机构(一)
c语言·开发语言·数据结构·c++·学习·算法