Python字符串处理的8个核心技巧与实战

远山来客
远山来客
发布时间:2026-10-13 | 6人浏览过
原创

本文系统总结了Python中处理字符串的8种常用方法,涵盖切片、相乘、分割、连接、前后缀判断、查找匹配、统计替换及字符清理。通过具体代码示例,展示如何利用内置函数如split、join、find、replace以及正则表达式re模块,高效解决爬虫解析、文本清洗等场景下的字符串处理问题。

Python字符串处理概述

在Python开发中,字符串处理是一项基础且高频的操作,广泛应用于爬虫数据解析、大数据文本清洗以及常规文件处理等场景。Python内置了众多高效且功能强大的字符串处理函数,使得操作既强大又便捷。本文将梳理字符串处理中最常用的方法,帮助读者轻松掌握并应对各类字符串处理需求。

字符串切片与相乘

1. 字符串的切片与相乘操作

(1) 切片操作


str='Monday is a busy day' 
print(str[0:7]) #表示取第一个到第七个的字符串 
print(str[-3:]) #表示取从倒数第三个字符开始到结尾的字符串 
print(str[::])  #复制字符串 

(2) 相乘操作

在编写Python代码时,若需要生成由分隔符组成的字符串,利用字符串的乘法操作可以非常简单地实现这一目标。


line='*'*30 
print(line) 
>>****************************** 

字符串分割技巧

2. 字符串的分割处理

(1) 基础分割:使用split函数。需要注意的是,split函数仅支持简单的分割逻辑,且不支持基于多个分隔符的复杂分割场景。


phone='400-800-800-1234' 
print(phone.split('-')) 
>>['400', '800', '800', '1234'] 

(2) 复杂分割:当分隔符包含多种情况(如分号“;”、逗号“,”或带有额外空格的空格)时,可以使用正则表达式进行分割。例如,使用r'[;,s]\s*'模式,可以匹配分号、逗号或空格后跟随零个或多个额外空格的情况,从而按此模式对字符串进行分割。


line='hello world; python, I ,like,  it' 
import re 
print(re.split(r'[;,s]\s*',line)) 
>>>['hello world', 'python', 'I ', 'like', 'it'] 

字符串连接与合并

3. 字符串的连接与合并

(1) 连接:两个字符串可以通过“+”运算符方便地连接在一起。


str1='Hello' 
str2='World' 
new_str=str1+str2 
print(new_str) 
>>>HelloWorld 

(2) 合并:使用join方法可以将字符串列表合并为一个完整的字符串。


url=['www','python','org'] 
print('.'.join(url)) 
>>>www.python.org 

前后缀判断与查找匹配

4. 判断字符串是否以指定前缀或后缀结尾

例如,我们需要检查一个文件名是否以特定字符串开头或结尾。


filename='trace.h' 
print(filename.endswith('h')) 
>>True 
print(filename.startswith('trace')) 
>>True 

5. 字符串的查找与匹配

(1) 基础查找

利用find方法可以方便地在长字符串中查找子字符串。该方法会返回子字符串所在位置的索引;如果未找到,则返回-1。


str1 = "this is string example....wow!!!" 
str2 = "exam" 
print(str1.find(str2))   # 15 
print(str1.find(str2, 10)) # 15 
print(str1.find(str2, 40)) # -1 

(2) 复杂匹配:对于更复杂的模式匹配需求,需要借助正则表达式。


mydate='11/27/2016' 
import re 
if re.match(r'\d+/\d+/\d+',mydate): 
  print('ok.match') 
else: 
  print('not match') 
 
>>>ok.match 

字符统计与替换

6. 统计字符串中特定字符出现的次数


str = "thing example....wow!!!" 
print(str.count('i', 0, 5)) # 1 
print(str.count('e')) # 2 

7. 字符串的替换操作

(1) 基础替换:直接使用replace方法即可完成简单的字符串替换。


text='python is an easy to learn,powerful programming language.' 
print(text.replace('learn','study')) 
>>>python is an easy to study,powerful programming language. 

(2) 复杂替换:对于复杂的替换逻辑,需要使用re模块中的sub函数。


students='Boy 103,girl 105' 
import re 
print(re.sub(r'\d+','100',students)) 
>>>Boy 100,girl 100 

特定字符清理与翻译

8. 去除字符串中的特定字符

(1) 去除空格:在文本处理场景中,例如从文件中读取一行数据后,通常需要去除每行首尾的空格、制表符(tab)或换行符。


str = ' python str ' 
print(str) 
# 去首尾空格 
print(str.strip()) 
# 去左侧空格 
print(str.lstrip()) 
# 去右侧空格 
print(str.rstrip()) 

(2) 复杂文本清理:可以利用str.translate方法实现更精细的字符替换与删除。

具体而言,可以先构建一个转换表。例如,table是一个翻译表,表示将“to”转换为大写的“TO”,同时在old_str中移除字符“12345”,最后将剩余字符串通过table进行翻译处理。


instr = 'to' 
outstr = 'TO' 
old_str = 'Hello world , welcome to use Python. 123456' 
remove = '12345' 
table = str.maketrans(instr,outstr,remove) 
new_str = old_str.translate(table) 
print(new_str) 
>>>HellO wOrld , welcOme TO use PyThOn. 6 

总结

总结

在日常Python脚本编写中,字符串处理是使用频率最高的操作之一。本文整理了上述常用字符串处理方法,希望能为读者的工作带来帮助。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持本站。

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表