Regex 使用gsub在R中的某些单词后插入空格
如果R中的某些单词不是最后一个单词,如何在它们后面添加空格 因此,对于“伟大”一词,它将发生变化: “whatagreatday”=>“whatagreatday”(插入空格) “多么美好的一天”=>“多么美好的一天”(没有变化,已经有空间了) “我感觉棒极了”=>“我感觉棒极了”(不要在末尾插入空格) 虽然使用gsub应该是相对直接的,但无法获得与R中类似的效果(尽管添加了额外的反斜杠)Regex 使用gsub在R中的某些单词后插入空格,regex,r,gsub,Regex,R,Gsub,如果R中的某些单词不是最后一个单词,如何在它们后面添加空格 因此,对于“伟大”一词,它将发生变化: “whatagreatday”=>“whatagreatday”(插入空格) “多么美好的一天”=>“多么美好的一天”(没有变化,已经有空间了) “我感觉棒极了”=>“我感觉棒极了”(不要在末尾插入空格) 虽然使用gsub应该是相对直接的,但无法获得与R中类似的效果(尽管添加了额外的反斜杠) 谢谢您可以匹配以下内容: great\\s*(?!$) 并替换为: “很棒” 添加空格部分相当简单。困难的
谢谢您可以匹配以下内容:
great\\s*(?!$)
并替换为:
“很棒”
添加空格部分相当简单。困难的部分是找出一个词的结尾和下一个词的开头。例如,你是否将今天的
分解为今天的
?如果你的英语水平非常有限,你可能还可以。如果您的文本可以是任何英语,或者更糟糕的是,任何语言,那么我认为您将很难实现自动化。“某些词语”是否意味着你知道你想要打破什么?(这个问题值得澄清,因为这会影响正则表达式。)乐意一次处理一个单词,所以只想处理上面例子中的“great”。不要在意这些话是不是真的。此外,“to day”与“today”不同,因此在我的示例中,“gr eat”的出现应该被忽略。这在perl模式下工作,即gsub(“great\\s*(?!$),“great”,“whatagreatday”,perl=TRUE)非常感谢。