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 
相关推荐
世人万千丶1 天前
Flutter 框架跨平台鸿蒙开发 - 恐惧清单应用
学习·flutter·华为·开源·harmonyos·鸿蒙
yuzhuanhei1 天前
Visual Studio 配置C++opencv
c++·学习·visual studio
Csvn1 天前
🌟 LangChain 30 天保姆级教程 · Day 13|OutputParser 进阶!让 AI 输出自动转为结构化对象,并支持自动重试!
python·langchain
cch89181 天前
Python主流框架全解析
开发语言·python
sg_knight1 天前
设计模式实战:状态模式(State)
python·ui·设计模式·状态模式·state
好运的阿财1 天前
process 工具与子agent管理机制详解
网络·人工智能·python·程序人生·ai编程
此刻觐神1 天前
IMX6ULL开发板学习-01(Linux文件目录和目录相关命令)
linux·服务器·学习
张張4081 天前
(域格)环境搭建和编译
c语言·开发语言·python·ai
憧憬从前1 天前
算法学习记录DAY2
学习
weixin_423533991 天前
【Windows11离线安装anaconda、python、vscode】
开发语言·vscode·python