我正在尝试删除从字符串中分隔单词的连字符。例如,单词example:";例如";。
a <- "for exam- ple this"
我怎么能加入他们?
我已经尝试使用以下命令删除脚本:
str_replace_all(a, "-", "")
但我得到了这个:
"例如;
它不返回单词united。我也尝试过:str_replace_all(a, "- ", "")
,但我一无所获。
因此,我想首先删除连字符后的空白,以获得以下
"例如;
,然后删除连字符。
你能帮我吗?
这里有一个sub
选项,其中我们匹配-
,后跟零个或多个空格(\s*
(,并替换为-
sub("-\s*", "-", a)
#[1] "for exam-ple this"
如果要删除所有空格而不是单个空格,则用gsub
替换
gsub("-\s*", "-", a)
str_replace_all(a, "- ", "-")
如果您只是想删除符号后面的空白,那么Ricardo的答案就足够了。如果您想删除连字符后未知数量的空白,请考虑
str_replace_all(a, "- +", "-")
#[1] "for exam-ple this"
b <- "for exam- ple this"
str_replace_all(b, "- +", "-")
#[1] "for exam-ple this"
编辑——解释
"+"
是告诉r如何匹配字符串的内容,也是正则表达式的一部分。"+"
具体表示匹配前面的字符(或组/集(1次或多次。你可以在这里找到更多关于正则表达式的信息。