Python字符串处理技巧全解析
还在为处理文本数据头疼? 据统计,Python开发者70%的日常编码都在和字符串打交道!
本文详解Python字符串操作核心技巧:
- ️ 字符串切片与拼接的隐藏技巧
- 文本查找替换的实战方法
- 数据清洗格式化全流程
- 附可直接运行的完整代码模板
目录速览
- 字符串的"七十二变":创建与切片
- 文本拼接的3把利器
- 切割与重组:split()和join()
- 精准定位:查找替换技巧
- 格式化输出:三种高阶玩法
- 清洗标准化:大小写与空白处理
- 终极武器:完整数据处理模板
一、字符串的"七十二变":创建与切片
Python字符串就像灵活的积木,支持多种创建方式:
# 单双引号通用
msg = "Hello 数据科学家!"
path = r'C:\new_folder' # 原始字符串避免转义
# 切片操作 [start:end:step]
text = "Python超实用"
print(text[2:5]) # tho
print(text[::-1]) # 用实超nohtyP
二、文本拼接的3把利器
- 加号拼接:简单少量文本
- join()方法:高效连接列表
- f-string:Python 3.6+首选
names = ["张伟", "李娜", "王阳"]
# 传统方式(性能低)
full_str = names[0] + "," + names[1] + "," + names[2]
# 高效方式
print(",".join(names)) # 张伟,李娜,王阳
# 现代方式(推荐)
print(f"获奖者:{names[0]}、{names[1]}、{names[2]}")
三、切割与重组:split()和join()
这对黄金搭档处理结构化文本:
# 拆分CSV数据
csv_data = "ID,Name,Salary\n101,张三,15000"
rows = csv_data.split('\n')
for row in rows:
cols = row.split(',')
print(cols)
# 重组URL路径
folders = ['img','2024','logo.png']
print('/'.join(folders)) # img/2024/logo.png
四、精准定位:查找替换技巧
- find():返回首次出现位置
- replace():全局替换内容
- in关键字:快速存在性检测
log = "ERROR: File not found [code:404]"
# 定位关键信息
print(log.find("404")) # 28
print("ERROR" in log) # True
# 敏感信息脱敏
secure_log = log.replace("404", "XXX")
print(secure_log) # ERROR: File not found [code:XXX]
五、格式化输出:三种高阶玩法
告别混乱拼接:
# 1. %格式化(经典)
print("温度:%.1f°C" % 23.456) # 温度:23.5°C
# 2. str.format()(灵活)
print("坐标:({x},{y})".format(x=120, y=89))
# 3. f-string(推荐)
name = "Alice"
print(f"欢迎{name.upper()}!积分:{1000*1.2:.0f}")
六、清洗标准化:大小写与空白处理
数据清洗必备四件套:
raw_text = " Python数据分析 \t\n"
# 去空格
clean_text = raw_text.strip()
print(clean_text) # "Python数据分析"
# 大小写转换
print(clean_text.upper()) # PYTHON数据分析
print(clean_text.lower()) # python数据分析
# 首字母大写
print("hello world".title()) # Hello World
七、终极武器:完整数据处理模板
def clean_text_data(text):
"""文本清洗标准化流程"""
# 1. 去除首尾空白
text = text.strip()
# 2. 转换为小写
text = text.lower()
# 3. 替换特殊字符
text = text.replace('$', 'USD').replace('¥', 'CNY')
# 4. 分割重组
words = text.split()
return ' '.join(words[:5]) # 保留前5个词
raw_data = " $19.99 限时优惠 买一送一 "
print(clean_text_data(raw_data))
# 输出:usd19.99 限时优惠 买一送一
喜欢本文?点赞收藏,关注学习更多有用的知识,完善你的技能树!
Python字符串处理技巧全解析的更多相关文章
- Python 流程控制 超全解析(不可错过)
流程控制 程序执行结构流程 计算机程序在解决某个具体问题时,包括三种情形,即顺序执行所有的语句.选择执行部分的语句和循环执行部分语句,这正好对应着程序设计中的三种程序执行结构流程:顺序结构.选择结构和 ...
- python字符串常用的方法解析
这是本人在学习python过程中总结的一些关于字符串的常用的方法. 文中引用了python3.5版本内置的帮助文档,大致进行翻译,并添加了几个小实验. isalnum S.isalnum() -> ...
- Python 最常见的 170 道面试题全解析:2019 版
Python 最常见的 170 道面试题全解析:2019 版 引言 最近在刷面试题,所以需要看大量的 Python 相关的面试题,从大量的题目中总结了很多的知识,同时也对一些题目进行拓展了,但是在看了 ...
- Python字符串解析方法汇总
Python字符串方法解析 1.capitalize 将首字母大写,其余的变成小写 print('text'.capitalize()) print('tExt'.capitalize()) 结果: ...
- Python 工匠:使用数字与字符串的技巧学习笔记
#Python 工匠:使用数字与字符串的技巧学习笔记#https://github.com/piglei/one-python-craftsman/blob/master/zh_CN/3-tips-o ...
- 可能是最全面的 Python 字符串拼接总结
来源: 枫恋寒 链接: https://segmentfault.com/a/119000001.png"font-size: 12px;"> 在 Python 中字符串连接 ...
- Python常用网页字符串处理技巧
首先一些Python字符串处理的简易常用的用法.其他的以后用到再补充. 1.去掉重复空格 s = "hello hello hello" s = ' '.join(s.split( ...
- [转] 强大的python字符串解析
1.python字符串通常有单引号('...').双引号("...").三引号("""...""")或('''...'' ...
- python字符串、字符串处理函数及字符串相关操作
python字符串.字符串处理函数及字符串相关操作 字符串介绍 python字符串表示 Python除处理数字外还可以处理字符串,字符串用单撇号或双撇号包裹: >>> 'spam e ...
- (原创)Python字符串系列(1)——str对象
在本博客 <Python字符串系列> 中,将介绍以下内容: Python内置的str对象及操作 字符串的格式化 Python中的正则表达式 re模块 本文将介绍Python内置的 str ...
随机推荐
- 20241106,LeetCode 每日一题,用 Go 实现整数回文数判断
题目 给你一个整数 x ,如果 x 是一个回文整数,返回 true :否则,返回 false . 回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数.* 例如,121 是回文,而 123 不 ...
- vue属性/子属性监听watch的几种方法
特殊字符法 特殊字符+deep法 直接deep法 常规法 直接用如下代码示例吧: data(){ return { goBackHeader:'添加排班', scheduleForm:{ schedu ...
- 搞定 XLSX 预览?别瞎找了,这几个库(尤其最后一个)真香!
- Hey, 我是 沉浸式趣谈 - 本文首发于[沉浸式趣谈],我的个人博客 **https://yaolifeng.com** 也同步更新. - 转载请在文章开头注明出处和版权信息. - ...
- 可视化图解算法:按之字形顺序打印二叉树( Z字形、锯齿形遍历)
1. 题目 描述 给定一个二叉树,返回该二叉树的之字形层序遍历,(第一层从左向右,下一层从右向左,一直这样交替) 数据范围:0≤n≤1500,树上每个节点的val满足 |val| <= 1500 ...
- Linux内核模块开发(简单)
Linux系统为应用程序提供了功能强大且容易扩展的API,但在某些情况下,这还远远不够.与硬件交互或进行需要访问系统中特权信息的操作时,就需要一个内核模块. Linux内核模块是一段编译后的二进制代码 ...
- 【代码】Python3|无GUI环境中使用Seaborn作图的学习路线及代码(阴影折线图)
我有个需求是需要画图,让GPT帮我生成了一下学习计划. 学习路线依照GPT的来的,使用的Prompt工具是https://github.com/JushBJJ/Mr.-Ranedeer-AI-Tuto ...
- 自定义Spring Authorization Server登录页
一.鸣谢 首先要声明一些感谢: 感谢官方文档的缺失.反复造成我下面这条感谢 感谢那些胡说八道.顾彼失此的某DN文章,让我在冲向坑里的道路上一往无前 废话不多说,看剑! 本文来自:博客园-去哪里吃鱼-自 ...
- 鸿蒙Next开发实战教程-使用WebSocket实现即时聊天
鸿蒙系统提供了WebSocket库,使用它可以很方面的实现即时聊天功能,今天就使用WebSocket来实现一个完整的聊天功能. 首先创建一个WebSocket实例: let ws = webSocke ...
- Linux下安装并配置VSCode(Visual Studio Code)
众所周知,微软官方推出的开源编辑器VSCode轻量.易用.美观(微软没有给我广告费哈_),在程序员界享有盛誉,今天就带着大家在Linux下快速下载并使用VCode编辑器. 1.下载VSCode包 下载 ...
- ESP32S3内网实现 WebSocket
ESP32S3内网实现 WebSocket WebSocket 是一种网络通信协议,它提供了在单个 TCP 连接上进行全双工.双向通信的通道.它是为了在 Web 浏览器和服务器之间实现实时.高效的数据 ...