替换包含特定文本的字符串+ r中的更改模式

replace string comprising specific text + changing pattern in r

我正在尝试删除特定模式,然后更改 R 脚本中的数字或字母组合。

要删除的模式: “WIS 的 Alpha 代码 - 仅供参考 - 请参阅期刊 XXXX

其中 XXXX 可以是 4 位数字、字母 + 3 位数字或 3 个字母的组合。

我已经试过了:

str_replace(x, '^\s "Alpha code for WIS - Info Only - see journal" \b[A-Z1-9]{4}\b','') 

str_replace(x, '^\s "Alpha code for WIS - Info Only - see journal" ([0-9])','')  

str_replace(x, '^\sAlpha code for WIS - Info Only - see journal ([0-9]+)','') 

None 这些作品。 我也用 gsub 尝试过类似的正则表达式,但我没有再进一步。

我可以分 3 步进行,首先替换 4 位数字,然后替换字母组合,最后替换字母数字,如果这样更容易的话。

gsub:

试试这样的正则表达式
"Alpha code for WIS - Info Only - see journal ([0-9]{4}|[a-zA-Z][0-9]{3}|[a-zA-Z]{3})

所以代码片段将是:

test <- "Line1: Alpha code for WIS - Info Only - see journal 1234\nLine2: Alpha code for WIS - Info Only - see journal A123\nLine3: Alpha code for WIS - Info Only - see journal AbC\nLine4: line 4 content"
result <- gsub("Alpha code for WIS - Info Only - see journal ([0-9]{4}|[a-zA-Z][0-9]{3}|[a-zA-Z]{3})", '', test)
print(result)

输出

[1] "Line1: \nLine2: \nLine3: \nLine4: line 4 content"