R 删除字符串
我有一根绳子R 删除字符串,r,R,我有一根绳子 "Manager *?position (is not *# filled" 我需要这个 "Manager position is not filled" 我试过: paste(strsplit(st, "[*?(#]")[[1]],collapse="") 但是,间距不正确 谢谢。可以试试 gsub("[[:punct:] ]+"," ", st) 或 虽然如果您想使用strsplit(),后者将返回一个额外的空格,但我认为这种方法应该正确地使用空格 > st
"Manager *?position (is not *# filled"
我需要这个
"Manager position is not filled"
我试过:
paste(strsplit(st, "[*?(#]")[[1]],collapse="")
但是,间距不正确
谢谢。可以试试
gsub("[[:punct:] ]+"," ", st)
或
虽然如果您想使用strsplit(),后者将返回一个额外的空格,但我认为这种方法应该正确地使用空格
> st <- "Manager *?position (is not *# filled"
> ss <- strsplit(st, "[[:punct:]]|\\s")[[1]]
> paste(ss[nzchar(ss)], collapse = " ")
# [1] "Manager position is not filled"
>st ss粘贴(ss[nzchar(ss)],collapse=“”)
#[1]“经理职位未填补”
或者,您可以使用软件包stringr
,空间由以下人员管理:
string <- "Manager *?position (is not *# filled"
str_replace_all(string = string, pattern = "[[:punct:]]+", replacement = "")
string使用qdap的方法:
st <- "Manager *?position (is not *# filled"
library(qdap)
clean(strip(st, lower.case = FALSE))
## [1] "Manager position is not filled"
st您可以将其修改为:gsub(“[[:punct:]+”,“”,st)[1]“经理职位未满”以获得额外空间。好主意@arkun,修改类似于nzhar
函数。我想如果你使用:粘贴(strsplit(st,“[:punct:][]+”[1]],collapse=“”)[1]“经理职位未满”,可以避免nzchar
不确定为什么有人喜欢使用3个不同的函数而不是一个gsub
…@David。是的,gsub
代码较短,但Richard
回答了如何纠正我的错误code@will,代替nzchar
,您也可以只执行ss[ss!=“”]
。“对于这个问题,结果是一样的。”理查德。谢谢我喜欢泰勒的
帖子中的clean
。清洁(粘贴(ss,collapse=“”))
st <- "Manager *?position (is not *# filled"
library(qdap)
clean(strip(st, lower.case = FALSE))
## [1] "Manager position is not filled"