[R]Outlookのメールアドレス入力欄よりコピペしたテキストからアドレス一覧を作成する
Outlookのメール作成のウィンドウで、メールアドレスの入力欄よりコピペしたテキストは、例えば以下のような1行のテキストになるはず。
フレイア <freyja@macross.jp>; 美雲 <mikumo@macross.jp>; カナメ <kaname@macross.jp>
これを「(名前),(メールアドレス)」に変換する方法。
名前とメールアドレスをそれぞれキャプチャしてグループ化して、それらのグループを利用すればよい。
> print(line)
[1] "フレイア <freyja@macross.jp>; 美雲 <mikumo@macross.jp>; カナメ <kaname@macross.jp>"
> words <- unlist(strsplit(trimws(line), "[ ]*;[ ]*"))
> print(words)
[1] "フレイア <freyja@macross.jp>" "美雲 <mikumo@macross.jp>" "カナメ <kaname@macross.jp>"
> lines <- gsub("^(.*)[ ]+<(.*)>$", "\\1,\\2", words)
> print(lines)
[1] "フレイア,freyja@macross.jp" "美雲,mikumo@macross.jp" "カナメ,kaname@macross.jp"
このベクトルを利用してwrite関数でテキストファイルに書き込めば、簡単にCSVファイルを作ることができる。
> write(lines, file = "temp.csv")
出力されたテキストファイル(temp.csv)の中身
フレイア,freyja@macross.jp
美雲,mikumo@macross.jp
カナメ,kaname@macross.jp

