ことである。中には空白があったりするので、そのための処理を行う必要がある。
Rでも正規表現を用いることができるということで試してみた。
strs <- c("Hello World","Programming C","LISt Programming","isUpper") # これで大文字でない箇所を空文字に置き換える strs.abbr <- gsub("[^A-Z]","",strs) strs.abbr # 先頭の大文字だけを抽出する strs.split <- strsplit(strs," "); head.concat <- function(x){ head.chars <- substring(x,1,1) # 単語の先頭の文字群を得る head.upper <- gsub("[^A-Z]","",head.chars) # 大文字だけにする paste(head.upper,collapse="") # 大文字のベクトルを結合 } strs.abbr.head <- lapply(strs.split,head.concat) strs.abbr.head <- unlist(strs.abbr.head) strs.abbr.head
実行結果は以下のようになる。2番目の例では、途中の大文字は消去されている
ことが確認できる。
> strs.abbr [1] "HW" "PC" "LISP" "U" > strs.abbr.head [1] "HW" "PC" "LP" ""