- ベストアンサー
文字列からメールアドレスを切り取ってくる方法
自社で得た顧客情報から、自社のデータベースのフォームに入力していくときに、適切にメールアドレスの部分だけを切り取ってデータとして、そのフォーマットの適切な場所に貼り付けていきたいです。 たとえば日本語の文字や全角・半角のスペースなどに挟まれた、メールアドレスの部分をきちんと切り取ってくるための、方法(エクセルの関数などを使った方法など)は、ありますでしょうか?
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
まずは@を見つけて、その前後を メールアドレスの正規表現で切り出すことになると思います。 (全文正規表現マッチでもいいですが時間がかかるので) https://www.megasoft.co.jp/mifes/seiki/s309.html それをCSVファイルなどに書き出してインポート。 Excelなどにポンつけできるやり方は見たことないですね。
その他の回答 (3)
- SI299792
- ベストアンサー率47% (774/1619)
区切り文字が特定されていないのであれば、ユーザー定義関数しかありません。 下のマクロをVBA 入れると、MailCut という関数ができます。 使い方は、A1にメールアドレスがるとして、 =MailCut(A1) です。 ' Option Explicit ' Function MailCut(Expression As String) As String ' Dim RegExp As Object ' Set RegExp = CreateObject("VBScript.RegExp") RegExp.Pattern = "\w+@[A-Za-z.]+" Set RegExp = RegExp.Execute(Expression) ' If RegExp.Count > 0 Then MailCut = RegExp(0).Value End If End Function
お礼
ありがとうございます!
- msMike
- ベストアンサー率20% (364/1804)
「全角・半角のスペースなどに挟まれた」のように「…など」の曖昧模糊な表現はやめてください。それには具体例を幾つか挙げるべきです。 回答者は、その中から規則性を見付けて、関数「など」を使った方法を提案できるのです。
お礼
ありがとうございます そうですね! しかし実際にそれ以上、ちょっと規則性がないのです。イレギュラーなところは手作業になると思います。
- 山田 太郎(@f_a_007)
- ベストアンサー率20% (955/4574)
Q、メールアドレスを切り取ってくる方法は存在するか? A、あると思いますが・・・。もしかしたら、難しいかも知れません。
お礼
ありがとうございます!