我正在尝试查找一种可以提取字符串中特定位置字符的函数。例如,我有一个包含日期的长文件名,我只想得到日期:
'LT50420331984221PAC00_B7.tif'
我只想要'1984221'这一部分。我已经想出了一个复杂的函数,但想知道是否有更优雅的解决方案。
如果你知道日期在字符串中的确切位置,你可以使用
substr('LT50420331984221PAC00_B7.tif', 10, 16)
例如:
gsub('(.*)([0-9]+{7})[A-Z].*','\\2','LT50420331984221PAC00_B7.tif')
"1984221"
我假设在大写字母之前有7个数字表示日期。
sub
操作符相对于 substr
有什么优势呢? - Ricardo Saportasub
与使用 substr
相比,你能得到什么? - Ricardo Saporta
n
个字符之后开始?是否总是以19XX
或20XX
开头?是否总共运行n
个字符?您能否提供更多信息以便更容易回答这个问题? - thelatemail