我尝试删除特定模式,然后更改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]+)','')
这些都不起作用。 我也尝试过与gsub相似的正则表达式,而且我再也没有去过。
我可以分三个步骤,首先替换4位数字,然后是字母组合,最后是字母数字,如果它更容易。
答案 0 :(得分:1)
使用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]&#34; Line1:\ nLine2:\ nLine3:\ nLine4:第4行内容&#34;