【发布时间】:2021-07-26 06:56:39
【问题描述】:
我正在尝试使用 for 循环纠正字符串向量,这个特定的向量不起作用
gsub("S+U ", "t", "S+U S+U lag")
我也尝试使用 grepl,它检测到 S+、+U,但使用 S+U 不起作用。有人知道为什么会这样吗?
【问题讨论】:
我正在尝试使用 for 循环纠正字符串向量,这个特定的向量不起作用
gsub("S+U ", "t", "S+U S+U lag")
我也尝试使用 grepl,它检测到 S+、+U,但使用 S+U 不起作用。有人知道为什么会这样吗?
【问题讨论】:
我们可以将fixed 用作TRUE,因为+ 是一个或多个的元字符。因此,在正则表达式模式下,它将搜索一个或多个“S”,后跟一个 U。使用 fixed = TRUE 或转义 (\\+) 进行逐字计算
gsub("S+U ", "t", "S+U S+U lag", fixed = TRUE)
【讨论】:
你应该通过\\+逃脱+
> gsub("S\\+U ", "t", "S+U S+U lag")
[1] "ttlag"
或者您可以启用fixed = TRUE
> gsub("S+U ", "t", "S+U S+U lag", fixed = TRUE)
[1] "ttlag"
【讨论】: