[原创][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类型进行内容定位时, 要特别注意写法.

相关推荐
GDDGHS_28 分钟前
大数据工具 flume 的安装配置与使用 (详细版)
大数据·flume
Acrelhuang2 小时前
安科瑞5G基站直流叠光监控系统-安科瑞黄安南
大数据·数据库·数据仓库·物联网
皓7412 小时前
服饰电商行业知识管理的创新实践与知识中台的重要性
大数据·人工智能·科技·数据分析·零售
Mephisto.java2 小时前
【大数据学习 | kafka高级部分】kafka的kraft集群
大数据·sql·oracle·kafka·json·hbase
Mephisto.java2 小时前
【大数据学习 | kafka高级部分】kafka的文件存储原理
大数据·sql·oracle·kafka·json
ycsdn103 小时前
Caused by: org.apache.flink.api.common.io.ParseException: Row too short:
大数据·flink
DolphinScheduler社区4 小时前
Apache DolphinScheduler + OceanBase,搭建分布式大数据调度平台的实践
大数据
时差9535 小时前
MapReduce 的 Shuffle 过程
大数据·mapreduce
kakwooi6 小时前
Hadoop---MapReduce(3)
大数据·hadoop·mapreduce
数新网络6 小时前
《深入浅出Apache Spark》系列②:Spark SQL原理精髓全解析
大数据·sql·spark