簡體   English   中英

R從字符串中刪除所選字符

[英]R removing selected characters from a string

抱歉,如果出現重復,但是我看到的解決方案不能解決我的問題。

我有一個數據框(df)。 其變量之一(df $ Year)包括年份列表,例如:

 > df$Year

 Year
 2001–                       
 2013–                     
 2016–                      
 2003–                      
 2012–2013                      
 2013–                      
 1993–2007, 2010–

在多年的情況下,我只想保留最后一個(即不是“ 1993-2007、2010-”而是“ 2010”),而去掉“-”。 但是,我嘗試過:

unlist(str_extract_all(df$Year, "[[:digit:]]4$"))

但這似乎不起作用。

有什么提示嗎?

我們可以將sub用作一個襯板:

df$Year <- sub(".*(\\d{4})\\–?", "\\1", df$Year)
df$Year

[1] "2001" "2013" "2016" "2003" "2013" "2013" "2010"

演示

請注意,您在年份范圍內使用的破折號似乎是破折號(或可能是破折號),而不是常規的ASCII字符。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM