我在R中有一个字符串,如:
File_ABC777_PatientId789.DATA
或者可以是:File_ABC7878787_234_PatientId892.DATA
我想提取介于" PatientId"之间的字符串部分。和" .DATA" ......我怎么在R中这样做?在C#或其他语言中,这非常简单,通常使用字符串POS功能完成...但我似乎无法在R中找到类似的功能...任何想法?
干杯!!! MadSeb
答案 0 :(得分:4)
您可以使用?sub
:
x <- "File_ABC777_PatientId789.DATA"
sub(x=x, pattern="^.*PatientId([0-9]+).DATA$", replacement="\\1")
答案 1 :(得分:2)
我不确定你特别指的是其他语言的功能。正如sgibb所提到的,R有很多正则表达式类型的函数。
但是如果你的字符串总是采用相同的格式或模式,你可以简单地使用substr
,它只需要一个字符串,以及你想要提取(或替换)的开始和结束位置。