ことである。中には空白があったりするので、そのための処理を行う必要がある。
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" ""
