解決済み

文字列からメールアドレスを切り取ってくる方法

  • 困ってます
  • 質問No.9600173
  • 閲覧数75
  • ありがとう数7
  • 気になる数0
  • 回答数4
  • コメント数0

お礼率 67% (483/716)

自社で得た顧客情報から、自社のデータベースのフォームに入力していくときに、適切にメールアドレスの部分だけを切り取ってデータとして、そのフォーマットの適切な場所に貼り付けていきたいです。
たとえば日本語の文字や全角・半角のスペースなどに挟まれた、メールアドレスの部分をきちんと切り取ってくるための、方法(エクセルの関数などを使った方法など)は、ありますでしょうか?

質問者が選んだベストアンサー

  • 回答No.2

ベストアンサー率 35% (76/212)

まずは@を見つけて、その前後を
メールアドレスの正規表現で切り出すことになると思います。
(全文正規表現マッチでもいいですが時間がかかるので)
https://www.megasoft.co.jp/mifes/seiki/s309.html
それをCSVファイルなどに書き出してインポート。
Excelなどにポンつけできるやり方は見たことないですね。
お礼コメント
spongetak

お礼率 67% (483/716)

ありがとうございます!
投稿日時 - 2019-04-04 18:41:20

その他の回答 (全3件)

  • 回答No.4

ベストアンサー率 48% (191/397)

Excel(エクセル) カテゴリマスター
区切り文字が特定されていないのであれば、ユーザー定義関数しかありません。
下のマクロを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
お礼コメント
spongetak

お礼率 67% (483/716)

ありがとうございます!
投稿日時 - 2019-04-04 18:43:20
  • 回答No.3

ベストアンサー率 21% (242/1101)

「全角・半角のスペースなどに挟まれた」のように「…など」の曖昧模糊な表現はやめてください。それには具体例を幾つか挙げるべきです。
回答者は、その中から規則性を見付けて、関数「など」を使った方法を提案できるのです。
お礼コメント
spongetak

お礼率 67% (483/716)

ありがとうございます そうですね! しかし実際にそれ以上、ちょっと規則性がないのです。イレギュラーなところは手作業になると思います。
投稿日時 - 2019-04-04 18:42:49
  • 回答No.1

ベストアンサー率 20% (950/4547)

Q、メールアドレスを切り取ってくる方法は存在するか?
A、あると思いますが・・・。もしかしたら、難しいかも知れません。
結果を報告する
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,500万件のQ&Aを分析して最適な回答をご提案します。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する

ピックアップ

ページ先頭へ