[原创][R语言]股票分析实战[6]:正则表达式提取子字符串

简介

常用网名: 猪头三

出生日期: 1981.XX.XX

QQ联系: 643439947

个人网站: 80x86汇编小站 https://www.x86asm.org

编程生涯: 2001年~至今共22年

职业生涯: 20年

开发语言: C/C++、80x86ASM、PHP、Perl、Objective-C、Object Pascal、C#、Python

开发工具: Visual Studio、Delphi、XCode、Eclipse、C++ Builder

技能种类: 逆向 驱动 磁盘 文件

研发领域: Windows应用软件安全/Windows系统内核安全/Windows系统磁盘数据安全/macOS应用软件安全

项目经历: 磁盘性能优化/文件系统数据恢复/文件信息采集/敏感文件监测跟踪/网络安全检测

序言

在股票数据分析中, 根据数据文件的路径进行字符串操作是很常见的方式. 因为股票数据文件名一般都是按照命名格式为: 股票代码-股票名称.txt, 例如: 002431-棕榈股份. 这样做的目的是, 方便后期在提取数据和合并数据时, 可以区分数据是属于那支股票的?

如何提取"股票代码"呢?

先使用basename()获取文件名称, 然后再配合gregexec()或regexec() 进行正则表达式""^(0-9{6})-(.+)\\.txt$""分组提取. 代码如下:

R 复制代码
file_Stock <- "C:/Users/Win11_PHT/Desktop/KLines/002207-准油股份.txt"

# 提取股票名称
File_Name <- basename(file_Stock)
#Stock_Code <- regmatches(File_Name, gregexec("^([0-9]{6})-(.+)\\.txt$", File_Name))
Stock_Code <- regmatches(File_Name, regexec("^([0-9]{6})-(.+)\\.txt$", File_Name))
print(Stock_Code[[1]][2]) # 打印股票代码
print(Stock_Code[[1]][3]) # 打印股票名称

结尾

上面的代码要注意一个细节,regmatches()返回的是list类型. 所以针对list类型进行内容定位时, 要特别注意写法.

相关推荐
大大大大晴天21 小时前
Hudi Metadata Table 与 Hive Sync (HMS)怎么选?
大数据
手可摘星辰7771 天前
一次线上FlinkCDC异常排查复盘
大数据·flink
大大大大晴天1 天前
Hudi技术内幕:Metadata Table原理与实践
大数据
大大大大晴天2 天前
Hudi技术内幕:深入解析Index索引机制
大数据
阿里云大数据AI技术2 天前
Flink Forward Asia 2026 深圳启幕:Agentic Streaming for AI,开启实时智能新范式
大数据·flink
SelectDB3 天前
阶跃星辰基于 SelectDB 构建 PB 级 Agent 可观测平台
大数据·数据库·aigc
大大大大晴天6 天前
Hudi技术内幕:RecordPayload到RecordMerger
大数据
SelectDB7 天前
秒级弹性、最高降本 70%:SelectDB Serverless 如何重塑云数仓资源效率
大数据·后端·云原生
WhoAmI7 天前
MapReduce框架原理解析一:InputFormat
大数据·hadoop
WhoAmI7 天前
MapReduce框架原理解析三:OutputFormat
大数据·hadoop