使用正则表达式提取重复的子字符串 数据

问题描述

我正在尝试使用r中的正则表达式删除“:” 之后的子字符串。

"disaster - Natural (ex - fire,tornado,flood,etc.): Flood 1/1/2020;Event - Income: 1/1/2020;disaster - Natural (ex - fire,etc.): Fire"

"disaster - Natural (ex - fire,etc.): Flood 1/1/2020"

"Event - Health; disaster - Natural (ex - fire,etc.): Fire"

在此示例中,我尝试在每个分隔的类别之后删除“ Flood 1/1/2020”,“ 1/1/2020”和“ Fire”。每个“:”后面的单词和日期各不相同。数据以一列为单位,每行的分隔类别数量不同。

正则表达式对我来说是一个弱点。非常感谢您的任何帮助。

解决方法

您是说下面的正则表达式吗?

[1] "Disaster - Natural (ex - fire,tornado,flood,etc.);Event - Income;Disaster - Natural (ex - fire,etc.)"
- fire,etc.)"
[2] "Disaster - Natural (ex - fire,etc.)"
[3] "Event - Health; Disaster - Natural (ex - fire,etc.)"

给出

s <- c("Disaster - Natural (ex - fire,etc.): Flood 1/1/2020;Event - Income: 1/1/2020;Disaster - Natural (ex - fire,etc.): Fire","Disaster - Natural (ex - fire,etc.): Flood 1/1/2020","Event - Health; Disaster - Natural (ex - fire,etc.): Fire"
)

数据

{{1}}
,

带有str_remove

的选项
library(stringr)
str_remove_all(s,"Flood \\d+/\\d+/\\d{4}|:\\s+Fire")

-输出

#[1] "Disaster - Natural (ex - fire,etc.): ;Event - Income: 1/1/2020;Disaster - Natural (ex - fire,etc.)"
#[2] "Disaster - Natural (ex - fire,etc.): "                                                                              
#[3] "Event - Health; Disaster - Natural (ex - fire,etc.)"    

数据

s <- c("Disaster - Natural (ex - fire,etc.): Fire"
)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...