Mus*_*ord 4 string substring r dataframe
我有一个数据框,其中有一列包含字符串。如何只提取大写字母的子字符串并将它们添加到另一列?
这是一个例子:
fecha incident
1 2020-12-01 Check GENERATOR
2 2020-12-01 Check BLADE
3 2020-12-02 Problem in GENERATOR
4 2020-12-01 Check YAW
5 2020-12-02 Alarm in SAFETY SYSTEM
Run Code Online (Sandbox Code Playgroud)
我想创建另一个专栏,如下所示:
fecha incident system
1 2020-12-01 Check GENERATOR GENERATOR
2 2020-12-01 Check BLADE BLADE
3 2020-12-02 Problem in GENERATOR GENERATOR
4 2020-12-01 Check YAW YAW
5 2020-12-02 Alarm in SAFETY SYSTEM SAFETY SYSTEM
Run Code Online (Sandbox Code Playgroud)
我尝试过使用str_sub正则str_extract_all表达式,但我相信我做错了。
str_extract如果您想在数据框中工作并将其绑定到 tidyverse 工作流程中,则可以使用。
正则表达式要求输入大写字母或空格,并且需要有两个或多个连续的字母(因此它找不到大写单词)。str_trim如果大写单词不在字符串末尾,则删除可以拾取的空白。
请注意,这段代码被剪断只会提取通过空格连接的第一个大写单词。如果字符串的不同部分存在大写单词,则仅返回第一个单词。
library(tidyverse)
x <- c("CAPITAL and not Capital", "one more CAP word", "MULTIPLE CAPITAL words", "CAP words NOT connected")
cap <- str_trim(str_extract(x, "([:upper:]|[:space:]){2,}"))
cap
#> [1] "CAPITAL" "CAP" "MULTIPLE CAPITAL" "CAP"
Run Code Online (Sandbox Code Playgroud)
由reprex 包(v0.3.0)于 2021-01-08 创建
| 归档时间: |
|
| 查看次数: |
4021 次 |
| 最近记录: |