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 
相关推荐
光影少年33 分钟前
angular生态及学习路线
前端·学习·angular.js
猫头虎2 小时前
如何查看局域网内IP冲突问题?如何查看局域网IP环绕问题?arp -a命令如何使用?
网络·python·网络协议·tcp/ip·开源·pandas·pip
沿着路走到底2 小时前
python 基础
开发语言·python
烛阴4 小时前
武装你的Python“工具箱”:盘点10个你必须熟练掌握的核心方法
前端·python
逆小舟4 小时前
【C/C++】指针
c语言·c++·笔记·学习
杨枝甘露小码4 小时前
Python学习之基础篇
开发语言·python
我是华为OD~HR~栗栗呀5 小时前
23届考研-Java面经(华为OD)
java·c++·python·华为od·华为·面试
武文斌775 小时前
项目学习总结:LVGL图形参数动态变化、开发板的GDB调试、sqlite3移植、MQTT协议、心跳包
linux·开发语言·网络·arm开发·数据库·嵌入式硬件·学习
递归不收敛5 小时前
吴恩达机器学习课程(PyTorch适配)学习笔记:1.3 特征工程与模型优化
pytorch·学习·机器学习
小蕾Java5 小时前
PyCharm 软件使用各种问题 ,解决教程
ide·python·pycharm