我的文字如下:
x<-"Annual Turnover in Crores ( )15-25Lacs ( )25-50 Lacs ( )50-75 Lacs ( )75Lacs to 1 Cr ( X ) 1-10 Cr ( )10-25Cr ( )25-50Cr ( )Above 50 Crs"
现在我们可以看到在1-10 Cr盒子之前检查了一下。如何让R提取已选中框的值?
我正在使用
A&LT; -sub(&#34; \(X)&#34;,x)的
答案 0 :(得分:3)
您可以通过正则表达式中的简单模式实现您想要的目标:
regmatches(x,regexpr("(?<=\\( X \\))[^\\(]+",x,perl=TRUE))
#[1] " 1-10 Cr "
以下是模式的构建方式。
(?<=something)
告诉在something
之后查找字符串的一部分。在这种情况下,我们希望照顾( X )
。由于()
符号是正则表达式中的特殊字符,因此我必须通过\\
来逃避它们。
[^\\(]+
部分告诉您获取所有不是(
的字符。这是因为下一个&#34;复选框&#34;值以(
开头。再一次,我不得不逃避这个符号。
需要perl=TRUE
参数,否则在模式开头定义的背后不会有效。
希望这澄清一点。