删除列中字符串的某些部分

时间:2017-05-21 15:09:59

标签: r

我有很多像“LISTA CIVICA | blablabla”这样的唱片。它们是“partito”列下的字符类。我需要切断“| bla bla bla”才能获得所有记录“LISTA CIVICA”。

我只需要获取所有这些记录的LISTA CIVICA。

我尝试了这段代码,但它不起作用

gsub(pattern="",replacement = "LISTA CIVICA",ammcom$partito)

4 个答案:

答案 0 :(得分:2)

我们可以使用public ActionResult Index(viewmodel model) { return View(model); } 来匹配零个或多个空格(sub),后跟\\s*(因为它是OR(|)的元字符,因此将其转义通过其他字符(|)并将其替换为空白(.*

""

或另一个选项是sub("\\s*\\|.*", "", str1) #[1] "LISTA CIVICA" "LISTA CIVICA"

regmatches/regexpr

数据

trimws(regmatches(str1, regexpr("^[^|]+", str1)))
#[1] "LISTA CIVICA" "LISTA CIVICA"

答案 1 :(得分:2)

另一种方法可能是使用环视表达式:

term

OR

library(stringr)
trimws(str_replace_all(text,"\\|(?>.*)",""))

<强>输出

trimws(str_replace_all(text,"\\|.*",""))

输入数据:

 > trimws(str_replace_all(text,"\\|.*",""))
[1] "LISTA CIVICA" "LISTA CIVICA"

答案 2 :(得分:1)

我的一位朋友发现了如何解决我的问题。

length(ammcom$partito[grep("^LISTA",ammcom$partito)])
L <- rep("LISTA CIVICA", 92033)
ammcom$partito[grep("^LISTA",ammcom$partito)] <- L

答案 3 :(得分:0)

如果您要保留的字符串始终位于Result之前,您还可以将字符串拆分为|并仅保留第一个元素:

|