数据科学 - 字符文本处理

1. 字符串的基本操作

1.1 结构操作

1.1.1 拼接

 • 字符串之间拼接

字符串之间的拼接使用'+'进行字符串的拼接

a = 'World'
b = 'Hello'
print(b + ' ' +a)

• 列表中的字符串拼接

将以分隔符‘,’为例子

str = ['apple','banana']
print(','.join(str));

• 字符串中选择

通过索引进行切片操作

str1 = 'HelloWorld'# 从索引 1 到索引 4 (不包括 4)
print(str1[1:4])  # 输出: ell# 从索引 0 开始,每隔一个字符取一次
print(str1[0::2])  # 输出: Hlool# 反转字符串
print(str1[::-1])  # 输出: dlroWolleH

1.1.2 大小写转换

注意,字符串的大小写转换是一个内置于str中的方法,所以使用str.function()的形式声明

str = 'World'
print(str.upper()) #转换为大写
print(str.lower()) #转换为小写
print(str.capitalize()) #首字母大写

1.1.3 去除空白

通过strip函数将字符串周边的空白部分自定义去除

str2 = ' Hello World '
print(str2.strip())
print(str2.lstrip()) #去除左边的空格,去除右边空格使用rstrip

1.2 字符串的分割与合并

• 分割字符串以列表的形式

a = 'apple,banana'
fruits = a.split(',')

使用','进行分割,最终返回

['apple','banana']

• 合并列表为字符串形式

 将以分隔符‘,’为例子

str = ['apple','banana']
print(','.join(str));

1.3 格式化

常见的格式化有两种

• format形式

根据format()之后的顺序依次填充进入{}

name = "John"
age = 30
info = "My name is {} and I am {} years old".format(name, age)
print(info)  # 输出: My name is John and I am 30 years old

• f{}形式

这种方法更加自定义化,不用考虑填充顺序,将变量置入即可

name = 'Ricardo'
age = 18
print(f"Hello, I'm {name}, my age is {age}")

1.4 字符串检测

startswidth判断末尾位置是否满足条件
endswith判断起始位置是否满足
isalpha判断是否为字符组成
isdigit判断是否由数值组成
str1 = 'HelloWorld'
print(str1.startswith('Hello'))  # 输出: True
print(str1.endswith('World'))  # 输出: True
print(str1.isalpha())  # 输出: Truestr2 = '12345'
print(str2.isdigit())  # 输出: True

2. Re中使用正则表达式

re 模块是 Python 中处理正则表达式的标准库,用于字符串的复杂模式匹配、搜索、替换等操作。通过正则表达式,你可以轻松实现复杂的文本处理需求,如验证输入、查找特定模式、替换文本等。

import re

2.1 常用函数

• re.match()

从字符串的起始位置开始匹配。如果匹配成功,返回 Match 对象,字符串形式;否则返回 None

import retext = "hello world"
match = re.match(r'hello', text)
if match:print("Match found:", match.group())  # 输出: Match found: hello

• re.search()

search扫描整个字符串,返回第一个匹配项

import retext = "hello world"
search = re.search(r'world', text)
if search:print("Search found:", search.group())  # 输出: Search found: world

• re.findall()

findall返回所有的匹配项,以列表的形式

import retext = "The rain in Spain falls mainly in the plain"
matches = re.findall(r'in', text)
print("All matches:", matches)  # 输出: All matches: ['in', 'in', 'in', 'in']

• re.sub()

sub替换文本匹配内容

import re
text = 'The winter is so hot'matches = re.sub(r'winter','summer',text)
print(matches) #返回替换后的整体文本

• re.split()

与前文所述的split用法相同,将字符串进行分割,返回列表形式

import retext = "apple, banana, cherry"
split_result = re.split(r', ', text)
print(split_result)  # 输出: ['apple', 'banana', 'cherry']

2.2 Match对象

group()返回匹配的字符串
start()返回匹配的开始位置

end()

返回匹配的结束位置
span()返回匹配的开始与结束为止,元组的形式返回
import retext = "hello world"
match = re.search(r'world', text)
if match:print("Matched text:", match.group())  # 输出: Matched text: worldprint("Start position:", match.start())  # 输出: Start position: 6print("End position:", match.end())  # 输出: End position: 11print("Span:", match.span())  # 输出: Span: (6, 11)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/53750.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【网络安全】-访问控制-burp(1~6)

文章目录 前言   1.Lab: Unprotected admin functionality  2.Lab: Unprotected admin functionality with unpredictable URL   3.Lab: User role controlled by request parameter   4.Lab:User role can be modified in user profile  5.Lab: User ID controlled by…

Windows 10 系统安装 FFmpeg 查看、转换、编辑音频文件

1、FFmpeg官网:FFmpeg 点击下载 可以选择下载full版本 下载之后解压到指定目录,在系统环境变量 Path 里面新增环境变量 打开CMD终端运行 ffmpeg -version 查看是否安装成功。 2、基本命令 查看音频基本信息 ffprobe 1.mp3 ##输出 [mp3 000002ab334405…

LLM - 使用 XTuner 指令微调 多模态大语言模型(InternVL2) 教程

欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://spike.blog.csdn.net/article/details/142528967 免责声明:本文来源于个人知识与公开资料,仅用于学术交流,欢迎讨论,不支持转载。 XTuner…

Spark-RDD持久化

一、Spark的三种持久化机制 1、cache 它是persist的一种简化方式,作用是将RDD缓存到内存中,以便后续快速访问,提高计算效率。cache操作是懒执行的,即执行action算子时才会触发。 2、persist 它提供了不同的存储级别&#xff0…

关于神经网络的一个介绍

这篇文章中,我将简单介绍下与神经网络有关的东西,包括它的基本模型,典型的算法以及与深度学习的联系等内容。 一、神经元 神经网络是由许多个神经元组成的,在生物的神经网络中,就是神经元间相互连接,传递…

高校竞赛管理系统的设计与实现

摘 要 如今社会上各行各业,都喜欢用自己行业的专属软件工作,互联网发展到这个时候,人们已经发现离不开了互联网。新技术的产生,往往能解决一些老技术的弊端问题。因为传统高校竞赛管理系统信息管理难度大,容错率低&am…

Ubuntu 开机自启动 .py / .sh 脚本,可通过脚本启动 roslaunch/roscore等

前言 项目中要求上电自启动定位程序,所以摸索了一种 Ubuntu 系统下开机自启动的方法,开机自启动 .sh 脚本,加载 ROS 环境的同时启动 .py 脚本。在 . py 脚本中启动一系列 ROS 节点。 一、 .sh 脚本的编写 #!/bin/bash # gnome-terminal -- …

Leetcode - 周赛416

目录 一,3295. 举报垃圾信息 二,3296. 移山所需的最少秒数 三,3297. 统计重新排列后包含另一个字符串的子字符串数目 I 四,3298. 统计重新排列后包含另一个字符串的子字符串数目 II 一,3295. 举报垃圾信息 本题就是…

Linux 安装nginx

下载安装 https://nginx.org/en/download.html 解压 tar -zxvf nginx-1.26.2.tar.gz -C /opt chmod 777 -R /opt/nginx-1.26.2/编译 && 安装 # 安装到同目录以免乱套,一定要先创建目录 mkdir /opt/nginx-1.26.2/nginx/# 编译 make # 安装,大…

将Mixamo的模型和动画导入UE5

首先进入Mixamo的官网 , 点击 Character 选择一个模型 (当然你也可以自己上传模型/绑定动画) 然后点击下载 , 这个作为带骨骼的模型 选择FBX格式 , T Pose 直接下载 点击 Animations 选择动画 , 搜索 idle 默认站立动画 点击下载 , 格式选择 FBX , 不带模型只要骨骼 , 帧数选6…

MySQL_表_进阶(2/2)

上一章我们谈了排序子句,使用ORDER BY 字段 DESC/ASC。以及左右连接的多关系查询。 今天,没错,四张表最后两个需求 ✨涉及聚合函数查询与指定别名 四张表: 学院表:(testdb.dept) 课程表:(testdb.course) 选…

Rust编程的if选择语句

【图书介绍】《Rust编程与项目实战》-CSDN博客 《Rust编程与项目实战》(朱文伟,李建英)【摘要 书评 试读】- 京东图书 (jd.com) Rust编程与项目实战_夏天又到了的博客-CSDN博客 Rust语言实现选择结构时,根据某种条件的成立与否而采用不同的程序段进行…

基于nodejs+vue的农产品销售管理系统

作者:计算机学姐 开发技术:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等,“文末源码”。 专栏推荐:前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码 精品专栏:Java精选实战项目…

FortiGate 无线组网

无线管理与配置 FortiAP 连接 internal 接口之后自动获得 ip 地址:192.168.1.xxx/24在 FortiGate 中创建 SSIDFortiGate 自动发现 FortiAP,将 FortiAP 添加到 FortiGate将 SSID 和 FortiAP 关联创建防火墙策略 下面我们就来一起看看在 FortiGate 中该如…

ModbusTCP通讯错误的排查

Modbus是一种由MODICON公司开发的工业现场总线协议标准,是一项应用层报文传输协议。该协议用于传输数字和模拟变量[1]。有关该协议的报文具体格式,以及一些基本概念,见[1]。 本文以一个例子,阐述当ModbusTCP通讯出现错误的时候&a…

开源鸿蒙OpenHarmony系统更换开机Logo方法,瑞芯微RK3566鸿蒙开发板

本文适用于开源鸿蒙OpenHarmony系统更换开机Logo,本次使用的是触觉智能的Purple Pi OH鸿蒙开源主板,搭载了瑞芯微RK3566芯片,类树莓派设计,是Laval官方社区主荐的一款鸿蒙开发主板。 介绍 OpenHarmony的品牌标志、版本信息、项目…

计算机毕业设计 基于Hadoop的智慧校园数据共享平台的设计与实现 Python 数据分析 可视化大屏 附源码 文档

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点…

探索EasyCVR视频融合平台:在视频编解码与转码领域的灵活性优势

随着视频监控技术的飞速发展,各类应用场景对视频数据的处理需求日益复杂多样。从公共安全到智慧城市,再到工业监控,高效、灵活的视频处理能力成为衡量视频融合平台性能的重要标准。在众多解决方案中,EasyCVR视频融合平台凭借其在视…

大觅网之自动化部署(Automated Deployment of Da Mi Network)

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 本人主要分享计算机核心技…

音视频整体解码流程和同步流程

目录 1. 整体解码流程1. 初始化 FFmpeg2. 打开媒体文件3. 查找解码器4. 打开解码器5. 读取和解码数据6. 处理解码后的帧7. 释放资源 2. 音视频同步整体流程1. 解复用媒体流2. 解码3. 以音频为时钟源进行音视频同步的策略4. 缓冲区设计 现在先说大体流程,不分析代码 …