嗨,我想用空格代替正斜杠,但前提是它只出现一次。
str_replace_all( 'NOOOOO//ABCDEFGHI/asdfasd//sdkksksks', "/(?!=/)", " ")
在这里,我希望输出为:NOOOOO // ABCDEFGHI asdfasd // sdkksksks
答案 0 :(得分:2)
使用sub
尝试以下选项:
input <- "NOOOOO//ABCDEFGHI/asdfasd//sdkksksks"
gsub("(?<!/)/(?!/)", " ", input, perl=TRUE)
[1] "NOOOOO//ABCDEFGHI asdfasd//sdkksksks"
此处的策略是使用模式(?<!/)/(?!/)
,该模式与单个正斜杠匹配,该斜杠在两侧均被另一个正斜杠包围。
答案 1 :(得分:2)
您可以使用sub
和perl=TRUE
选项来使用(*SKIP)(*FAIL),并使用/{2,}(*SKIP)(*F)|/
选项来匹配不应该包含在匹配项中的字符。
在这种情况下,您可以匹配2个或更多不应包含在匹配中的正斜杠。之后,将单个正斜杠匹配,以空格代替。
s <- "NOOOOO//ABCDEFGHI/asdfasd//sdkksksks"
gsub("/{2,}(*SKIP)(*F)|/", " ", s, perl=TRUE)
例如
[1] "NOOOOO//ABCDEFGHI asdfasd//sdkksksks"
输出
dbSendQuery(conn, 'set character set "utf8"')
data <- dbReadTable( conn, "name")
答案 2 :(得分:1)