ダッシュのない電話番号の新しい列を作成したいと思います。数字だけといくつかの数字とダッシュを組み合わせたデータがあります。データは次のようになります。
電話
555-555-5555
1234567890
555-3456789
222-222-2222
51318312491
ダッシュのない電話番号の新しい列を作成したいと思います。数字だけといくつかの数字とダッシュを組み合わせたデータがあります。データは次のようになります。
電話
555-555-5555
1234567890
555-3456789
222-222-2222
51318312491
@Ananda Mahtoの回答に基づいて、数字を再び分割し、市外局番を括弧で囲む方法を示すと便利なようです。
phone <- c("1234567890", "555-3456789", "222-222-2222", "5131831249")
phone <- gsub("-", "", phone)
gsub("(^\\d{3})(\\d{3})(\\d{4}$)", "(\\1) \\2 \\3", phone)
[1] "(123) 456 7890" "(555) 345 6789" "(222) 222 2222" "(513) 183 1249"
2 番目の正規表現は 3 つのキャプチャ グループを作成します。2 つは 3 桁で、最後の 1 つは 4 桁です。次に、R はそれらをそれぞれの間にスペースを入れて元に戻し、最初のものを ( ) で囲みます。キャプチャ グループ 2 とキャプチャ グループ 3 の間にハイフンを入れることもできます。