从字符串中提取符号和单词,忽略数字和特定单词

时间:2017-10-11 14:17:36

标签: r string

我试图只获取符号(如果存在于一个单词之前)和忽略任何数字的单词和“.docx”。例如:

var Promise = require('bluebird');
var mongoose = require('mongoose');
mongoose.Promise = Promise;

输出应该是:

9999+1000+57575 red and blue.docx 
58585 +AAA.docx
45 -WW.docx

有没有人有一个简单的解决方案?

由于

2 个答案:

答案 0 :(得分:1)

这是一个解决方案。它替换了一串数字或“+”后跟一个空格,或字符串“.docx”,替换为“”。

vec <- c("9999+1000+57575 red and blue.docx","58585 +AAA.docx",
                                  "45 -WW.docx","3333-24 AAA.docx")

gsub("[0-9+-]+\\s|\\.docx","",vec)
[1] "red and blue" "+AAA"         "-WW"          "AAA"

答案 1 :(得分:0)

另一个选项是捕获组,我们捕获感兴趣的字符或单词

sub("^[0-9+-]+\\s*([^.]+).*", "\\1", vec)
#[1] "red and blue" "+AAA"         "-WW"          "AAA"