• ベストアンサー

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

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

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

  • ベストアンサー
  • TIGANS
  • ベストアンサー率35% (244/680)
回答No.2

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

spongetak
質問者

お礼

ありがとうございます!

その他の回答 (3)

  • SI299792
  • ベストアンサー率48% (708/1464)
回答No.4

区切り文字が特定されていないのであれば、ユーザー定義関数しかありません。 下のマクロを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
質問者

お礼

ありがとうございます!

  • msMike
  • ベストアンサー率20% (363/1772)
回答No.3

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

spongetak
質問者

お礼

ありがとうございます そうですね! しかし実際にそれ以上、ちょっと規則性がないのです。イレギュラーなところは手作業になると思います。

回答No.1

Q、メールアドレスを切り取ってくる方法は存在するか? A、あると思いますが・・・。もしかしたら、難しいかも知れません。

関連するQ&A

  • Excelでカタカナ文字列をひらがな文字列に変換したい。

    Excelで半角カタカナを全角に変換する関数がありましたが、全角カタカナを全角ひらがなに変換はできるのでしょうか? 『桐』にはそのような関数があったかと思うのですが、Excelではわかりません。 よろしくお願いします。

  • ホームページビスダー6.0 メールフォームでのテキスト欄の文字について

    ホームページビルダー6.0を使っています。 メールフォームにてテキスト欄ごとに、 全角、半角英数字、と属性を指定したいのですが、 ビルダーの機能には有りませんか? (例えば、メールアドレスの欄にカーソルが来たら、 半角英数字にするとか。。) また、入力した内容に不備があるかどうか (必須項目がブランクだったり、メールアドレスの 欄に@の無い文字列が入っていたりするのをチェックする) をHTMLの関数でチェックする事が出来たと思いますが 記述方法を忘れてしまいました。 どなたか、この2点についてお応え願えないでしょうか。 宜しくお願いいたします。m(._.)m ペコッ

  • 文字の判定

     こんばんわ。早速ですが、VBにおいて入力、又は取り込んできたデータの文字(1文字)が全角文字(漢字・ひらがな・全角スペース等)か半角文字(半角カタカナ・半角スペース等)かをみわける関数ってあるのでしょうか?

  • CString Format にて全角空白文字連続して格納する方法は?

    CString のメンバ関数Formatにて全角空白文字を連続して 入れる方法がありましたら教えてください。 GetBufferでアドレスを取得してmemset等で複数格納する事は 可能なのですが、できればFormatをしようしてスマートに 格納したいです。。。 ちなみに半角空白は下記で格納可能でした。 CString s; s.Format("%-36d", " "); 左詰めで半角空白が36バイト入ります。 この要領で全角空白を複数格納したいです。 引数の指定の方法等わかりましたら、教えてください。 よろしくおねがいします。

  • 文字列に半角・全角スペースが入っているかをチェックする関数のおかしな結

    文字列に半角・全角スペースが入っているかをチェックする関数のおかしな結果? 下記コードのように「文字列に半角・全角スペースが入っているかをチェックする関数」を作りました。 $textに入る文字列に半角・全角のスペースが入っているかをチェックします。 -------------------------------------------- my $text = "東 京"; if( isSpace($text) ) {   print "スペースあり"; } else {   print "スペースなし"; } sub isSpace{   my $str = shift || return(undef);   if( $str =~ /.*[\s ]+.*/ ){     return(1);   }else{     return(0);   } } -------------------------------------------- しかしなぜか1行目を my $text = "メ"; とするとスペースが入っているという結果になってしまいます。 なぜ「メ」が入ると半角もしくは全角のスペースとみなされてしまうのでしょうか? また、どうすれば正しくチェックできるようになりますか? よろしくお願いします。

    • ベストアンサー
    • Perl
  • エクセル関数で文字列の中のスペースの有無を調べたい。

    エクセル関数について教えてください。 全てが半角のはずの文字列・A1セルについて、下記について調べたいです。 1.同列(A列)の他のセルに入力されている文字列とのダブリチェック(同じ文字列がないかの確認)     *ダブリがある場合"ダブリ"表示 2.A1の文字列中のスペースの有無        *スペースがある場合"スペース"表示 3.A1の文字列中に全角が混ざっていないか      *全角がある場合"全角"表示 1.については、 =IF(COUNTIF(A:A,A1)>=2,"ダブリ","") の関数を使用してチェックが出来ると思うのですが、 2.については、関数TRIM 及び 置換での削除方法、3.については、 関数ASC での半角変換 しか手段が見つかりませんでした。 上記のものをマクロを組んでいる中に組み込みたいので、出来れば、上記3つの結果をひとつのセル(C1)に表示させたいのですが、可能でしょうか? *A1セルに上記3つが当てはまる場合、C1セルに "ダブリスペース全角" と表示させたい。 どれについて引っかかっているのかがわかればいいので、記号などに置き換えてもかまいません。 可能な限り調べては見たのですが、私の知識ではどうにもなりませんでした。 もし、いい案などがあればご紹介してください。 宜しくお願いいたします。

  • マルチバイト文字の大文字、小文字を区別せずに置換

    ある文章に対して、フォームから入力された文字の部分の色を変えて表示するという事をしたいです。 フォームから入力された文字列が[php]として、 php、PHP、Php、phP、php、PHP、Php…など、全角、半角、大文字、小文字関係なく色を変えたい場合、 半角の文字列はeregi_replace()でできると思うのですが、全角の場合はどのように記述すれば良いのでしょうか。 フォームから入力された文字列を全角に変換してmb_eregi_replace()を行ってみたのですが、うまくいきませんでした。 文章を半角に変換すればできるとは思いますが、出来る限りそれはしたくありません。 特に一つの関数で…という事は考えていません。 何か良い方法がありましたらアドバイスをお願い致します。

    • ベストアンサー
    • PHP
  • メールでの文字化けについて助けてください。

    海外の友人とメールをやりとりしているのですが、友人からのメールの日本語部分のみ文字化けがでます。 「はい…」といったものです。 また、友人からのレスに残っている私の文章をみると、同じく日本語の部分だけが少しおかしくなっています。 こちらは「メールをありがとう。」と打ったはずが「メールを りがとう。」と一部文が抜けて半角スペースが入っているのです。 この問題を解決するにはどうしたらよいでしょうか。 ちなみに私はMacの10.4.10でSafariを使っており、メールはgooのアドレスをつかっています。友人はhotmailを使っています。 すみませんが、よろしくお願いいたします。

  • ネットスケープでの掲示板の文字化け

    掲示板に書き込む際ですが、投稿者・メール・題名・内容 とあって、メールの欄にはアドレスを書き込むと投稿者をクリックした場合、メールフォームが表示されますよね? この欄に、たとえば 「こんにちは」と入れると、IEでは投稿者のアドレスが「こんにちは」と表示されます。 ところがネットスケープから書き込むとこれが文字化けしてしまいます。(アドレスのような半角文字は有効に表示されます)以前はネットスケープでも全角(日本語)が読めたのですが、どこか設定をいじったのかいつの間にかこうなってしまいました。本来の使い方ではないのですが、どなたかネットスケープのこの部分の全角が読める設定の仕方をお教え頂けませんでしょうか? ネットスケープは最新版で、その他の部分は正常に表記されます。

  • 文字列内の記号、スペースなどを削除する方法

    エクセル2000 OS:WinXPpro 本人の技量レベル:VBAはコピペして実行しても、修正が出来ないので、なるべく関数で処理したい。 半角カタカナ英数だけの文字列を作りたいのです。 元のデータには()などの記号、句読点、スペース等が含まれています。 一応TRIM関数で余分なスペースは削除しましたが文字列中の半角スペースが残っています。 これを半角カタカナ英数だけを残してベタの文字列にしたいのです。

専門家に質問してみよう