Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从r中的文本中删除连续的大写字符?_R_Text Mining - Fatal编程技术网

如何从r中的文本中删除连续的大写字符?

如何从r中的文本中删除连续的大写字符?,r,text-mining,R,Text Mining,例如,我有一个文本 a <- "This IS A SAMple sentence TMP" 我该怎么做?有更简单的方法吗?比什么更简单?您尝试过什么?我尝试过运行for循环,在连续位置或更多位置查找大写字母,但这变得太复杂了,因为也可能有两个以上的连续大写字母。熟悉正则表达式-请参见?正则表达式,例如。,www.regular-expressions.info-它们可以很好地解决各种问题。答案很好。也许对这些组成部分的解释可以作为补充。首先,gsub在a中全局查找任何具有大写字母的字符

例如,我有一个文本

a <- "This IS A SAMple sentence TMP"

我该怎么做?有更简单的方法吗?

比什么更简单?您尝试过什么?我尝试过运行for循环,在连续位置或更多位置查找大写字母,但这变得太复杂了,因为也可能有两个以上的连续大写字母。熟悉正则表达式-请参见
?正则表达式
,例如。,www.regular-expressions.info-它们可以很好地解决各种问题。答案很好。也许对这些组成部分的解释可以作为补充。首先,gsub在a中全局查找任何具有大写字母的字符串——这是字符类[a-Z]——在一行中两次或多次——这是量词{2,}。如果量词是{2,3},它将查找一行中的两个或三个;如果{2},它将在一行中查找正好两个。当gsub找到这些匹配项时,它会用空格替换它们,就像用“”一样。最后,str_trim将删除结尾开始处的空格。
  library(stringr)
  str_trim(gsub("[A-Z]{2,}","",a))
  [1] "This  A ple sentence"
  library(stringr)
  str_trim(gsub("[A-Z]{2,}","",a))
  [1] "This  A ple sentence"