我想知道为什么我通过使用gsub和stringi获得两个不同的输出字符串.元字符是否"." 不包括stringi中的新行?stringi读"逐行"吗?
顺便说一句,我没有找到任何方法来执行stringi的"正确"替换,所以我需要在这里使用gsub.
string <- "is it normal?\n\nhttp://www.20minutes.fr"
> gsub(" .*?http"," http", string)
[1] "is http://www.20minutes.fr"
> stri_replace_all_regex(string, " .*?http"," http")
[1] "is it normal?\n\nhttp://www.20minutes.fr"
Run Code Online (Sandbox Code Playgroud)
一种方法是设置.为也匹配行终止符,而不是停在一行:
stri_replace_all_regex(string, " .*?http"," http",
opts_regex = stri_opts_regex(dotall = TRUE))
Run Code Online (Sandbox Code Playgroud)