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 
相关推荐
大、男人4 分钟前
python之contextmanager
android·python·adb
毕设源码-钟学长26 分钟前
【开题答辩全过程】以 基于Python的车辆管理系统为例,包含答辩的问题和答案
开发语言·python
报错小能手41 分钟前
线程池学习(七)实现定时(调度)线程池
学习
CCPC不拿奖不改名1 小时前
数据处理与分析:数据可视化的面试习题
开发语言·python·信息可视化·面试·职场和发展
液态不合群1 小时前
线程池和高并发
开发语言·python
旦莫1 小时前
Pytest教程:Pytest与主流测试框架对比
人工智能·python·pytest
●VON1 小时前
从模型到价值:MLOps 工程体系全景解析
人工智能·学习·制造·von
好奇龙猫1 小时前
【人工智能学习-AI-MIT公开课第 18. 表示:分類、軌跡、過渡】
学习
数据大魔方1 小时前
【期货量化实战】螺纹钢量化交易指南:品种特性与策略实战(TqSdk完整方案)
python·算法·github·程序员创富·期货程序化·期货量化·交易策略实战
旻璿gg2 小时前
paddleocr、paddleocrvl、ppocrv5
python