R语言 | 进阶字符串的处理
目录
一、语句的分割
二、修改字符串的大小写
三、unique()函数的使用
四、字符串的连接
4.1 使用paste()函数常见的失败案例1
4.2 使用paste()函数常见的失败案例2
4.3 字符串的成功连接与collapse参数
4.4 再谈paste()函数
4.5 扑克牌向量有趣的应用
五、字符串数据的顺序
六、查找字符串的内容
6.1 使用索引值搜索
6.2 使用grep()函数搜索
七、字符串内容的更改
编辑 八、正则表达式
8.1 搜索具有可选择性
8.2 搜索分类字符串
8.3 搜索部分字符可重复的字符串
一、语句的分割
在使用R语言时,常常需要将一段句子拆成单词,此时可以使用strsplit()函数。

二、修改字符串的大小写
toupper():这个函数可以将字符串改成大写。
tolower():这个函数可以将字符串改成小写。

三、unique()函数的使用
这个函数主要是让向量内容没有重复地出现。unique()函数可以让所有元素内容不重复出现。

四、字符串的连接
4.1 使用paste()函数常见的失败案例1

上述实例使用paste()函数失败,最主要的原因是paste()函数内有c()函数,字符串经过c()函数处理后就会形成一个字符串向量。
4.2 使用paste()函数常见的失败案例2
与上一个案例失败的原因相同。
4.3 字符串的成功连接与collapse参数
若是想用paste()函数成功将字符串向量内的字符串连接,需加上collapse参数。假设字符串是使用空格连接,则在paste()函数加上collapse=""参数即可。

将collapse参数设为NULL,与不加上此参数的结果相同。其实collapse参数除了NULL外,可以是任何其他字符,这个字符将是连接各个单字符的字符。
![]()
4.4 再谈paste()函数
其实paste()函数的主要目的是将两个或多个向量连接。

在连接的向量中,每个元素间以空格分开,如果我们不想让元素间有空格,可以在paste()函数内加上seq=" "参数。

如果要连接的两个向量的长度(元素个数)不相同,R语言会使用重复机制,让较短的向量重复,直至与较长向量的长度相等。

4.5 扑克牌向量有趣的应用

五、字符串数据的顺序
sort()函数会为字符串向量的元素排序,默认是从小排到大,至于元素本身则不做排序。另外,decreasing参数默认是FALSE,如果设为TRUE,则排序是按由大排到小。

六、查找字符串的内容
6.1 使用索引值搜索
如果我们知道所要查找的字符串的索引值,那么可以使用substr()函数查找字符串。
6.2 使用grep()函数搜索
grep()函数是一个查找功能非常强大的函数。如果你去图书馆想找一本书,只知道Word 2013的书,却不知道完整书名,那么只输入“Word 2013”,系统即可搜索。这个函数的基本使用格式如下所示:
grep(pattern,x)
pattern:代表搜索的目标内容。
x:是字符串向量。

如果在搜索时,找不到所搜索的内容,R语言将响应“character(0)”,表示是空的向量。
七、字符串内容的更改
sub()函数可以对搜索的字符串内容执行更改,这个函数的使用格式如下:
sub(pattern,replacement,x)
pattern:要搜索的字符串。
replacement:将要取代原字符串的字符串。
x:字符串向量。
八、正则表达式
8.1 搜索具有可选择性
搜索具有可选择性,相当于具有or的特性,它的R语言语法是使用"|"符号,这个符号与"\"在同一个键盘按键上。

8.2 搜索分类字符串
可以使用"( )"符号搭配"|"符号,将所搜索的字符串分类。

8.3 搜索部分字符可重复的字符串
在搜索中可以添加"*"代表出现0次或多次,添加"+"代表出现1次或多次。
相关文章:
R语言 | 进阶字符串的处理
目录 一、语句的分割 二、修改字符串的大小写 三、unique()函数的使用 四、字符串的连接 4.1 使用paste()函数常见的失败案例1 4.2 使用paste()函数常见的失败案例2 4.3 字符串的成功连接与collapse参数 4.4 再谈paste()函数 4.5 扑克牌向量有趣的应用 五、字符串数据的…...
【MySQL高级】——InnoDB索引MyISAM索引
一、索引概述 MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构。 索引的本质:索引是数据结构。你可以简单理解为“排好序的快速查找数据结构”,满足特定查找算法。 这些数据结构以某种方式指向…...
电影《灌篮高手》观后
上周和同学一起看了电影《灌篮高手》这部电影,个人以前没有看过相关漫画和动画,但记得,看过海报和一些宣传物品,有的衣服上,有文具盒上,也都出现过,而且是在自己小时候,可见当时的影…...
C# .Net 中的同步上下文
.Net 中的同步上下文 【文 / 张赐荣】 什么是同步上下文? 同步上下文(SynchronizationContext)是一个抽象类,它提供了一个基本的功能,用于在不同的同步模型中传播一个同步操作。 同步上下文表示一个代码执行的位置&a…...
3分钟入门:Flex 布局
flex 布局原理 全称 flexible box,弹性布局。 如何开启:为元素添加 display: flex。 开启 flex 布局的元素,称为 flex 容器(flex container),其子元素成为容器成员,称为 flex 项目。 flex 布…...
我想知道,就目前形势而言,学java好还是C++好?
前言 就现实点看看,可以对比现在Java和C的市场占有率,可以看到,到目前为止,Java在国内编程语言的市场仍然是占据着大头,在招聘当中Java的人数占有率仍然是遥遥领先于C,Java目前开阔的市场以及其巨大的岗位…...
Mysql 管理
目录 0 课程视频 1 系统数据库 -> 安装完mysql ->自带四个数据库 2 常用工具 -> 写脚本用 2.1 mysql 客户端工具 2.2 mysqladmin 2.3 mysqlbinlog -> 二进制日志 -> 运维讲解 2.4 mysqlshow 2.5 mysqldump 备份用 ->导出 2.6 mysqlimport/source -…...
C#基础(算术运算符)
作用 算术运算符 是用于 数值类型变量计算的运算符 它的返回结果是数值 赋值符号 // // 关键知识点: // 先看右侧 再看左侧 把右侧的值赋值给左侧的值 int myAge 18; 算术运算符 加 // 用自己计算 先算右侧结果 在赋值给左侧变量 int i 1; i i 2; …...
BM43-包含min函数的栈
题目 定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的 min 函数,输入操作时保证 pop、top 和 min 函数操作时,栈中一定有元素。 此栈包含的方法有: push(value):将value压入栈中pop():弹出栈顶元素top():获取…...
[学习笔记] [机器学习] 3. KNN( K-近邻算法)及练习案例
视频链接数据集下载地址:《3. KNN及练习案例》配套数据集 1. K-近邻算法(KNN)概念 学习目标: 掌握K-近邻算法实现过程知道K-近邻算法的距离公式知道K-近邻算法的超参数 K K K值以及取值问题知道kd树实现搜索的过程应用KNeighborsClassifier实现分类知…...
React Hooks 钩子函数错误用法,你还在犯这些错误吗
React Hooks 常见错误 前言 本片文章主要是在写react hooks的时候,遇到的常见错误的写法,和错误。也是一个对只是的巩固和总结。 错误一 上代码:正确写法 function TestReactHooksError() {const [test, setTest] useState(test);useEff…...
tpm2-tools源码分析之tpm2_evictcontrol.c(1)
TPM 2.0中的tpm2_evictcontrol命令对应的源文件就是tpm2_evictcontrol.c,该文件位于tpm2-tools/tools/下,一共有339行(版本5.5)。 tpm2_evictcontrol的功能是使一个被加载的密钥持久保存、或者从TPM中移除一个持久密钥。命令描述…...
SpringCloud_OpenFeign服务调用和Resilience4J断路器
文章目录 一、负载均衡概论1、服务器负载均衡2、客户端负载均衡3、客户端负载均衡策略(SpringCloudRibbon)4、客户端负载均衡策略(SpringCloudLoadBalancer) 二、SpringCloudOpenFeign服务调用1、OpenFeign服务调用的使用2、OpenFeign服务调用的日志增强3、OpenFeign服务调用超…...
【C++】switch 语句
目录 1、缘起 2、笔记整理 3、if 和 switch 区别 4、总结 1、缘起 最近(2023-04-29)在 BiliBili 黑马程序员学习 C 编程语言,今天学习到了 switch 语句。以前在学习 C 语言 的时候,对这块知识点掌握的不是很好,…...
【Database-06】Centos 9 安装docker版的Oceanbase
1、安装docker 1.1、卸载旧版本 旧版本的 Docker 被称为docker或docker-engine。如果安装了这些,卸载它们以及相关的依赖项。 yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotat…...
TiDB Operator 和 Operator Dashboard
TiDB Operator 和 Operator Dashboard V1TiDB Operator概念实现 Operator Dashboard概念实现 V2思路实例代码TiDB ARM OperatorTiDB ARM Operator Dashboard V1 为了演示如何编写 TiDB Operator 和 Operator Dashboard,我们将分别介绍它们的概念和实现。 TiDB Ope…...
计算机网络闲谈01——QUIC协议
计算机网络闲谈01——QUIC协议 预备知识 重传机制 RTT 一个连接的往返时间 RTO 重传超时时间 RTT和RTO 的关系是:由于网络波动的不确定性,每个RTT都是动态变化的,所以RTO也应随着RTT动态变化。 流量控制 对发送方发送速率的控制 称之为…...
楼层滚动效果(超级简单,易懂)
系列文章目录 文章目录 系列文章目录一、楼层滚动效果图如下1. 下图是纯Css实现的楼层滚动2.通过Js优化后的楼层滚动如下图(🌹🌹) 二、楼层滚动(Css实现)1.滚动原理2.代码如下 三、楼层滚动(JsCss优化后的楼层滚动&…...
FPGA、 CPU、GPU、ASIC区别
一、为什么使用 FPGA? 众所周知,通用处理器(CPU)的摩尔定律已入暮年,而机器学习和 Web 服务的规模却在指数级增长。 人们使用定制硬件来加速常见的计算任务,然而日新月异的行业又要求这些定制的硬件可被重新…...
ChatGPT 之父承认 GPT-5 并不存在,为什么 OpenAI 总是这么实诚?|万字详述
ChatGPT 诞生前传 来源: 爱范儿 微信号:ifanr 最近,OpenAI 的 CEO Sam Altman 在一场公开会议上为 GPT-5 辟谣。 他声称 OpenAI 并没有在训练 GPT-5,而是一直基于 GPT-4 做别的工作。 OpenAI 是一家非常有趣的机构,和微软、Go…...
别再让你的Qt界面有锯齿了!手把手教你用QPainter的Antialiasing和HighQualityAntialiasing
Qt图形渲染优化实战:抗锯齿原理与性能调优指南 在开发需要精细图形展示的Qt应用时,开发者常会遇到一个棘手问题——图形边缘的锯齿现象。无论是仪表盘上的指针、数据可视化中的曲线,还是自定义控件的圆角边框,锯齿都会严重影响视觉…...
Typora LaTeX主题:学术论文写作的终极解决方案
Typora LaTeX主题:学术论文写作的终极解决方案 【免费下载链接】typora-latex-theme 将Typora伪装成LaTeX的中文样式主题,本科生轻量级课程论文撰写的好帮手。This is a theme disguising Typora into Chinese LaTeX style. 项目地址: https://gitcode…...
MAA明日方舟助手:5步配置实现游戏日常全自动化
MAA明日方舟助手:5步配置实现游戏日常全自动化 【免费下载链接】MaaAssistantArknights 《明日方舟》小助手,全日常一键长草!| A one-click tool for the daily tasks of Arknights, supporting all clients. 项目地址: https://gitcode.co…...
ESP32玩转1.8寸LCD屏:用TFT_eSPI库做个桌面小时钟(附完整代码)
ESP32打造高颜值桌面时钟:从TFT_eSPI库到完整项目实战 在创客的世界里,将硬件与代码结合创造出实用又有趣的项目总是令人兴奋。今天我们要用ESP32开发板和1.8寸ST7735驱动的LCD屏幕,打造一个功能完善、界面美观的桌面电子时钟。这个项目不仅适…...
【免费下载】 STM32使用AD7799芯片读取AD值
STM32使用AD7799芯片读取AD值 【下载地址】STM32使用AD7799芯片读取AD值 本项目是基于STM32F103系列单片机,实现对AD7799高精度24位模数转换器(ADC)的数据采集。AD7799是一种高性能、低功耗的模拟到数字转换器,支持多种输入范围和…...
Cursor Free VIP:三合一解决方案彻底解决AI编辑器使用限制
Cursor Free VIP:三合一解决方案彻底解决AI编辑器使用限制 【免费下载链接】cursor-free-vip [Support 0.45](Multi Language 多语言)自动注册 Cursor Ai ,自动重置机器ID , 免费升级使用Pro 功能: Youve reached your…...
告别论文 “双杀” 困局:okbiye 如何用一套闭环方案,破解重复率与 AIGC 检测双重难题
okbiye-免费查重复率aigc检测/开题报告/毕业论文/智能排版/文献综述/AI PPT降重复率 - Okbiye智能写作https://www.okbiye.com/reduceAIGC 当你对着导师的红笔批注,第三次修改论文时,有没有想过一个问题:为什么你改了又改的句子,重…...
i.MX6Q烧录翻车实录:从‘No Device Connected’到‘Push error’,我拔掉一个USB WiFi才搞定
i.MX6Q烧录实战:当USB设备冲突遇上OTG接口的排查指南 那天下午的阳光透过窗户斜射进实验室,我正对着i.MX6Q开发板进行例行固件更新。Mfgtools工具已经准备就绪,开发板电源接通,一切看起来都很完美——直到屏幕上跳出那个令人沮丧…...
工业软件与高性能算力融合:重构智能制造核心引擎
在制造业数字化转型向纵深推进的今天,工业软件与高性能算力的深度融合,正在成为驱动高端制造、关键装备、核心工业领域突破瓶颈的关键力量。长期以来,我国工业领域面临着研发周期长、仿真效率低、系统集成复杂、国产化替代缓慢等多重难题&…...
【Perplexity AI高手速成指南】:20年AI工程师亲授7大核心技能与3个避坑红线
更多请点击: https://kaifayun.com 第一章:Perplexity AI平台核心架构与能力边界 Perplexity AI 并非传统意义上的开源模型托管平台,而是一个以“答案溯源”为设计哲学的智能问答引擎。其底层融合了多阶段检索增强生成(RAG&#…...
