我是一名新手,对于正则表达式还不太熟悉。我已经阅读了 http://www.gastonsanchez.com/Handling_and_Processing_Strings_in_R.pdf 上的正则表达式文档。虽然之前也有类似的问题被发布过,但是我仍然难以弄清我的情况。
我有一个字符串文件名向量,想要提取子字符串并将其保存为新的文件名。这些文件名遵循以下模式:
例如,ABC_DG_MS-15-0452-268_206_281_12_1_2017_1_53_11_PM,ABC_RE_SP56-01_A_206_281_12_1_2017_1_52_34_AM,子字符串将是MS-15-0452-268和SP56-01_A。
我使用了。
我有一个字符串文件名向量,想要提取子字符串并将其保存为新的文件名。这些文件名遵循以下模式:
\w_\w_(substring to extract)_\d_\d_Month_Date_Year_Hour_Min_Sec_(AM or PM)
例如,ABC_DG_MS-15-0452-268_206_281_12_1_2017_1_53_11_PM,ABC_RE_SP56-01_A_206_281_12_1_2017_1_52_34_AM,子字符串将是MS-15-0452-268和SP56-01_A。
我使用了。
map(strsplit(filenames, '_'),3)
但是失败了,因为新的文件名也可能含有“_”。
我转向正则表达式进行高级匹配,并想出了以下解决方案:
gsub("^[^\n]+_\\d_\\d_\\d_\\d_(AM | PM)$", "", filenames)
我还没有得到所需的内容。
\w
缩写代表[a-zA-Z0-9_]
(参见下划线)。 - Jan