R - 相当于pos函数

时间:2012-02-27 19:55:51

标签: string r function

我在R中有一个字符串,如:

  

File_ABC777_PatientId789.DATA

或者可以是:File_ABC7878787_234_PatientId892.DATA

我想提取介于" PatientId"之间的字符串部分。和" .DATA" ......我怎么在R中这样做?在C#或其他语言中,这非常简单,通常使用字符串POS功能完成...但我似乎无法在R中找到类似的功能...任何想法?

干杯!!! MadSeb

2 个答案:

答案 0 :(得分:4)

您可以使用?sub

x <- "File_ABC777_PatientId789.DATA"
sub(x=x, pattern="^.*PatientId([0-9]+).DATA$", replacement="\\1")

答案 1 :(得分:2)

我不确定你特别指的是其他语言的功能。正如sgibb所提到的,R有很多正则表达式类型的函数。

但是如果你的字符串总是采用相同的格式或模式,你可以简单地使用substr,它只需要一个字符串,以及你想要提取(或替换)的开始和结束位置。