我想用來gsub從檔案名中洗掉字符。
在下面的示例中,所需的輸出為 23
digs = "filepath/23-00.xlsx"
我可以洗掉 23 之前的所有內容,如下所示:
gsub("^\\D ", "",digs)
[1] "23-00.xlsx"
或之后的所有內容:
gsub("\\-\\d \\.xlsx$","", digs)
[1] "filepath/23"
我如何同時做這兩個?
uj5u.com熱心網友回復:
我們可以使用|(OR) 即匹配字符 ( .*) 直到/or ( |),匹配-后面的字符 ( .*),替換為空白 ( "")
gsub(".*/|-.*", "", digs)
[1] "23"
或者只是做parse_number
readr::parse_number(digs)
[1] 23
uj5u.com熱心網友回復:
你可以用一個sublike
sub("^\\D (\\d ).*", "\\1", digs)
# => [1] "23"
請參閱R 演示。請參閱正則運算式演示。詳情:
^- 字串的開始\D- 一個或多個非數字字符(\d )- 第 1 組(\1指該組值):一位或多位數字.*- 盡可能多的任何零個或多個字符。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/518510.html
標籤:r正则表达式gsub
