r - R函数检查字符串中的多个文本
问题描述
我在寻找 R 中的解决方案时遇到了问题
我必须找出具有 4 个文本的字符串:
1. " { M/s ",
2. " { M/s. ",
3. " ( S/O - ",
4. " ( W/O - "
并将输出放入R中的if语句中
dd<- data.frame(narr=c("Ratnakar:LIMITED::::CNAAJPIOP0::::Ratnakar:LIMITED",
"BAR-BOKALAWA:::Kl RAM I:: { M/s. REJOICE CONFECTIONARS ::BARBOKALAWA:::Kl RAM I",
"P2A:::REFUND::: { M/s AANCHAL SAREES :::1(NETPREM KUMAR SINGH)",
"P2A:: SUNDER ( S/O - JITENDER PAL ::REFUND:::::rajdhani:lawn",
"SAA::PRUD:::P2A::::SAA::PRUD",
"SAA-NOON:MOO: RAJNI ( W/O - RAM NIVAS::P2A::REFUND::SAA:NOON:MOO",
"CMS.CAR:::SAA:::CMS::CAR"))
This is running fine : str_detect(dd$narr, " M/s | M/s.| W/O | C/O | S/O ")
But, This is not running : str_detect(dd$narr, " { M/s | { M/s.| ( W/O | ( C/O | ( S/O ")
错误即将到来: stri_detect_regex(string, pattern, negate = negate, opts_regex = opts(pattern)) 中的错误:{min,max} 间隔中的错误。(U_REGEX_BAD_INTERVAL) 请帮帮我。
解决方案
?regexp
说:任何具有特殊含义的元字符都可以通过在其前面加上反斜杠来引用。
stringr::str_detect(dd$narr, " \\{ M/s | \\{ M/s\\.| \\( W/O | \\( C/O | \\( S/O ")
#[1] FALSE TRUE TRUE TRUE FALSE TRUE FALSE
推荐阅读
- scala - Scala 类型系统帮助:让故障级联堆栈
- angular - 将 HTML 5 模板转换为 Angular
- angular - 如何向另一个组件发送响应
- angularjs - 如何在 mongoDB 中更新我的集合,以便添加一个 userId
- angular - 路由器事件未在子组件中触发,但在父组件中触发
- c# - ESLint 在 asp.net core 2.1 VS 2017 中找不到模块'ajv'
- spring - RestTemplate、Spring 启动、POST
- php - PHP 在一个类中动态定义多个常量
- c - 为什么给 qsort() 的比较函数需要返回三个不同的值?
- php - 检查推荐,将推荐添加到余额中并删除 php 中的推荐?