我有一个df = desc,其中包含一个变量“value”,该变量包含长文本,我想删除该变量中以“.htm”结尾的每个单词。我在这里和正则表达式中找了很长时间,但没有找到解决方案。
有人能帮忙吗?非常感谢!
我试过了
library(stringr)
desc <- str_replace_all(desc$value, "\*.htm*$", "")
但我得到:
Error: '\*' is an unrecognized escape in character string starting ""\*"
5条答案
按热度按时间yhived7q1#
此正则表达式:
.htm
结尾的所有内容.html
捕获示例输出量:
gt0wga4j2#
我不知道你到底想完成什么,但我猜其中之一是你正在寻找的:
mjqavswn3#
我不确定是否可以使用 * 来告诉R考虑字符串中的任何值,所以我会首先删除它。另外,在代码中,您正在对变量“value”进行更改,以替换整个df。
因此,我建议如下:
通过这样做,您将告诉R删除desc$value变量中的所有.htm。我希望它能起作用!
lnvxswe24#
我们假设你有一个变量“value”,它包含长文本,你想删除所有以
.html
结尾的单词,基于这些假设,你可以使用str_remove all
:这里的要点是将模式 Package 成单词边界标记
\\b
:数据来源:
1cosmwyk5#
要实现你想要的只是做:
你试图逃离星星,但这是无用的。你得到一个错误,因为
\*
不存在于R字符串中。你只有\n
,\t
等...\.
在R字符串中也不存在。但是\\
存在,并且它在正则表达式的结果字符串中产生一个\
。因此,当你在R正则表达式中转义某个内容时,你必须转义它两次:在我的正则表达式中:
.*
表示任意字符,\\.
表示一个真实的点。我必须转义它两次,因为\
需要先从R字符串中转义。