[R] Searching for Enumerated Items using str_count() from the stringr package

Tóth Dénes toth.denes at kogentum.hu
Fri Sep 29 00:14:30 CEST 2017



On 09/29/2017 12:02 AM, Tóth Dénes wrote:
> 
> 
> On 09/28/2017 10:25 PM, Dan Abner wrote:
>> Hi all,
>>
>> I have a large number of text strings to search for enumerated items.
>> However, I am receiving this error message even though I thought that I
>> properly escaped the special character closed parenthesis:
>>
>>
>>> Count<-str_count(text3,keywords)
>> Error in stri_count_regex(string, pattern, opts_regex = opts(pattern)) :
>>    Syntax error in regexp pattern. (U_REGEX_RULE_SYNTAX)
>>
>>
>> ===
>>
>> Here is example code:
>>
>>
>> text1<-"This is a list:
>> 1) Number 1
>> 2) Etc
>> 3) Etc"
>>
>> text2<-"This is NOT a list:
>> Blah, blah, blah
>> Blah, blah, blah"
>>
>> text3<-c(text1,text2)
>> text3
>>
>> {keywords<-c(paste(0:9,"\\)"),paste(0:9,"\\)",sep=""),
>> paste(0:9,"."),paste(0:9,".",sep=""),"-","*")}
>>
> 
> You should carefully read the docs, see ?regexp.
> You really do not want to pass a multi-element vector as 'keywords' in 
> this case, but instead:
> 
> stri_count_regex(text3, "[0-9]+\\) ")
> 
> or:
> 
> stri_count_regex(text3, "[[:digit:]]+\\) ")
> 

Ah, now I see what you were after: enumerations are not in a standard 
format, so "1) " can be "1)", "1.", "1 .".

In this case:
text <- "1)Hello\n2.Hi\n3 .Cheers"
keywords <- "[0-9]+(\\)| *?\\.)"
stri_count_regex(text, keywords)

Note the '|' sign in the keyword definition. It means OR in this 
context. So literally the regexp expression above can be translated as:
A digit or a digit string followed by a parenthesis, or by arbitrary 
number of spaces (even 0) before a dot.

HTH,
Denes

> BTW, I do not understand why to use the stringr package if it is just a 
> wrapper around the stringi package.
> 
> Regards,
> Denes
> 
> 
> 
> 
>> keywords
>>
>> Count<-str_count(text3,keywords)
>>
>> ===
>>
>> I am looking for Count<-c(3,0)
>>
>> Any suggestions?
>>
>> Thanks!
>>
>> Dan
>>
>>     [[alternative HTML version deleted]]
>>
>> ______________________________________________
>> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
>> https://stat.ethz.ch/mailman/listinfo/r-help
>> PLEASE do read the posting guide 
>> http://www.R-project.org/posting-guide.html
>> and provide commented, minimal, self-contained, reproducible code.
>>
> 

-- 
Dr. Tóth Dénes ügyvezető
Kogentum Kft.
Tel.: 06-30-2583723
Web: www.kogentum.hu



More information about the R-help mailing list