Rで解析:文字の置換や前後へ付与するのに便利です。「snakecase」パッケージ


正規表現で文字の置換場所を指定したり、文字列の前後へ文字を付与するのに便利なパッケージの紹介です。

参考までに意外とアクセスがある文字列操作の記事を紹介します。

・Rで解析:文字列操作と検索「grep」と置換「gsub」コマンドの紹介
 https://www.karada-good.net/analyticsr/r-97

パッケージバージョンは0.5.1。windows 10のR version 3.4.1で動作を確認しています。


パッケージのインストール

下記コマンドを実行してください。

#パッケージのインストール
install.packages("snakecase")



コマンドの紹介

詳細はコマンド、パッケージのヘルプを確認してください。

#パッケージの読込み
library("snakecase")

###データ例の作成#####
#大文字,全て小文字空白,全て小文字アンダーバー
TestText <- c("KARADA-GOOD", "ka ra da.good", "karada_good")
########

#条件を指定して文字列を置換:to_any_caseコマンド
#変換設定:caseオプション;以下が設定可能
ToCase <- c("snake", "small_camel", "big_camel", "screaming_snake",
            "parsed", "mixed", "lower_upper", "upper_lower",
            "all_caps", "lower_camel", "upper_camel", "none")
#正規表現で置換位置を拡張する:preprocessオプション
#対象外の文字を指定:protectオプション
#先頭に文字を付与:prefixオプション
#末尾に文字を付与:postfixオプション
for(i in seq(ToCase)){
  
  cat(paste0(ToCase[i], ":",
             to_any_case(TestText, case = ToCase[i],
                         preprocess = "A|\\:", protect = "\\-|\\.",
                         prefix = "https://", postfix = ".net"), "\n"))
  
}
#結果
snake:https://k_r_d-good.net
snake:https://ka_ra_da.good.net
snake:https://karada_good.net
small_camel:https://kRD-Good.net
small_camel:https://kaRaDa.Good.net
small_camel:https://karadaGood.net
big_camel:https://KRD-Good.net
big_camel:https://KaRaDa.Good.net
big_camel:https://KaradaGood.net
screaming_snake:https://K_R_D-GOOD.net
screaming_snake:https://KA_RA_DA.GOOD.net
screaming_snake:https://KARADA_GOOD.net
parsed:https://K_R_D-GOOD.net
parsed:https://ka_ra_da.good.net
parsed:https://karada_good.net
mixed:https://K_R_D-Good.net
mixed:https://ka_ra_da.good.net
mixed:https://karada_good.net
lower_upper:https://kRd-GOOD.net
lower_upper:https://kaRAda.GOOD.net
lower_upper:https://karadaGOOD.net
upper_lower:https://KrD-good.net
upper_lower:https://KAraDA.good.net
upper_lower:https://KARADAgood.net
all_caps:https://K_R_D-GOOD.net
all_caps:https://KA_RA_DA.GOOD.net
all_caps:https://KARADA_GOOD.net
lower_camel:https://kRD-Good.net
lower_camel:https://kaRaDa.Good.net
lower_camel:https://karadaGood.net
upper_camel:https://KRD-Good.net
upper_camel:https://KaRaDa.Good.net
upper_camel:https://KaradaGood.net
none:https://K_R_D_-GOOD.net
none:https://ka ra da.good.net
none:https://karada_good.net

#個別に適応コマンド一覧
to_snake_case(TestText)
[1] "karada_-_good"   "ka_ra_da_._good" "karada_good"
to_small_camel_case(TestText)
[1] "karada-Good" "kaRaDa.Good" "karadaGood"
to_big_camel_case(TestText)
[1] "Karada-Good" "KaRaDa.Good" "KaradaGood"
to_screaming_snake_case(TestText)
[1] "KARADA_-_GOOD"   "KA_RA_DA_._GOOD" "KARADA_GOOD"
to_parsed_case(TestText)
[1] "KARADA_-_GOOD"   "ka_ra_da_._good" "karada_good"
to_mixed_case(TestText)
[1] "Karada_-_Good"   "ka_ra_da_._good" "karada_good"
to_lower_upper_case(TestText)
[1] "karada-GOOD" "kaRAda.GOOD" "karadaGOOD"
to_upper_lower_case(TestText)
[1] "KARADA-good" "KAraDA.good" "KARADAgood"

少しでも、あなたの解析が楽になりますように!!

スポンサードリンク

おすすめコンテンツ


スポンサードリンク