[英]Splitting vector of characters in pipe R - keep only the first part of split
[英]How to use gsub to keep only the first characters/numbers in a vector in R?
基本上,我只想在向量中保留第一個字符,我知道這可以在substr()中輕松完成,但是我想知道如何在gsub()中做到。
例如,
codes <- c("02Q","4E (1)","4S (1)","A0","A2","A4")
我想要一個像這樣的結果向量
c("0","4","4","A","A","A")
謝謝
你可以做
sub("^(\\w).*$", "\\1", codes)
#[1] "0" "4" "4" "A" "A" "A"
說明:
似乎您只想保留第一個字符。
gsub("(?<!^).", "", codes, perl=TRUE)
# [1] "0" "4" "4" "A" "A" "A"
(?<!^)
否定性向后看,它斷言匹配將以行邊界的任何開頭(但不是開頭)開始。
要么
codes <- c("02Q","4E (1)","4S (1)","A0","A2","A4")
sub("(?<!^).*", "", codes, perl=T)
[1] "0" "4" "4" "A" "A" "A"
再多一點..
> sub("(?!^.).*", "", codes, perl=T)
[1] "0" "4" "4" "A" "A" "A"
> sub("\\B.*", "", codes, perl=T)
[1] "0" "4" "4" "A" "A" "A"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.