এক্সেল / গুগল স্প্রেডশিটে পাঠ্য স্ট্রিং থেকে ইমেল উত্তোলন করা হচ্ছে


9

আমি গুগল ডক্স / এক্সেলের টেক্সট স্ট্রিং থেকে ইমেল ঠিকানাগুলি বের করতে এবং সেগুলিকে স্বয়ংক্রিয়ভাবে ইমেল করতে চাইছি, যেখানে ঘরগুলির সামগ্রী বর্তমানে অজানা (ব্যবহারকারীর দ্বারা আপডেট হওয়া অবধি)।

উদাহরণস্বরূপ, তারা পড়তে পারে:

  1. ওহে,

    আমার বন্ধু উদাহরণ@example.com।

    ধন্যবাদ,

    উদাহরণ জো

অথবা

  1. তোমার জিজ্ঞাসা করা উচিত

    example@example.co.uk

আমি বর্তমানে এই সূত্র পেয়েছি:

=IFERROR((LEFT(CELL,FIND("@",CELL)-1))&"@"&(regexextract(CELL,"@(.*)"))) 

এটি বাদে প্রায় সব ক্ষেত্রেই কাজ করে

ক) উদাহরণস্বরূপ 1 হিসাবে, যেখানে কেউ একটি রাখে, বা। ইমেল শেষে

খ) উদাহরণস্বরূপ ২ হিসাবে, যেখানে ইমেলটি একটি নতুন লাইনে শুরু হয়, এটি উদাহরণ হিসাবে আসে।

জিজ্ঞাসা করা

example@example.com

এগুলি সংশোধন করার জন্য আমি কীভাবে সূত্রটি গ্রহণ করতে পারি?

উত্তর:


7

গুগল স্প্রেডশিটগুলির জন্য

গুগল স্প্রেডশিটগুলিতে ইতিমধ্যে অন্তর্নির্মিত রেগেক্স সূত্র রয়েছে

আমরা মেল ঠিকানাগুলি নিষ্কাশন করতে প্রথমটি ব্যবহার করি। গুগল স্প্রেডশিট ঘরে এই সূত্রটি রাখুন:

=iferror(Regexextract(A1;"[A-z0-9._%+-]+@[A-z0-9.-]+\.[A-z]{2,4}");"")
  • A1 স্ট্রিংটি চেক করার স্ট্রিংটি (আপনার ক্ষেত্রে মেল বডি) থাকা উচিত
  • সম্পূর্ণ সূত্রটি 2 অংশ নিয়ে গঠিত। অভ্যন্তরীণ অংশটি হ'ল রেজেক্স ফর্মুলা এবং বাইরের অংশটি ত্রুটি প্রতিরোধের জন্য
  • Regexextract(A1,"\[A-z0-9._%+-\]+@\[A-z0-9.-\]+\.\[A-z\]{2,4}") মেল ঠিকানা ফেরত দেয়
  • iferror(innerformula,"")#N/Aযখন রেজেক্স সূত্রটি কিছু ফেরত দিতে সক্ষম হয় না তখন বাধা দেয় যেমন কোনও বৈধ মেল ঠিকানা পাওয়া যায় নি

এখানে চিত্র বর্ণনা লিখুন

কিভাবে রেজেক্স প্যাটার্ন কাজ করে?

[এ-z0-9 ._% -]। + + @ [এ-z0-9 .-] [আয] {2,4}

  • A-zan Aএবং a এর মধ্যে যে কোনও চরিত্রকে উপস্থাপন করে z
    বড় হাতের এবং ছোট হাতের নোট এইভাবে এটি কেস-সংবেদনশীল
  • 0-9 যে কোনও অঙ্ক উপস্থাপন করে
  • ._%+- এই চিহ্নগুলি নিজেই উপস্থাপন
  • [ ] একটি একক অক্ষর প্রতিনিধিত্ব করে যা বন্ধনীগুলির মধ্যে অনুমোদিত
  • +পিছনে একটি সাইন রেখে [ ]পূর্ববর্তী প্যাটার্নটি অসীমভাবে পুনরাবৃত্তি করার অনুমতি দেয়
  • @এর কোন বিশেষ অর্থ নেই। এটি আক্ষরিক জন্য একটি @সাইন জন্য অনুসন্ধান
  • [A-z0-9.-]+উপরের মত একই। তবে এবার _%+কোনও @চিহ্নের পিছনে অনুমতি নেই
  • \.একক পয়েন্ট অনুসন্ধান করে। এটি পূর্ববর্তী সঙ্গে পালাতে হবে \কারণ .সাধারণত কোনও স্থানধারক যে কোনও চরিত্র
  • সর্বশেষে [A-z]{2,4}2,3 বা 4 কেস-সংবেদনশীল চরিত্রের অনুসন্ধানে

ব্যবহৃত রিসোর্স


আপনার সহায়ক উত্তরের জন্য আপনাকে ধন্যবাদ। আমার মনে হয়েছিল যে {2, 4}এটি সীমাবদ্ধ হতে পারে কারণ অনেক আসন্ন টিএলডি .codes4 টির বেশি অক্ষরের চেয়ে বেশি।
অ্যালেক্স বুকার

1

এটি এক্সেলের জন্য।

নিম্নলিখিত ব্যবহারকারী সংজ্ঞায়িত ফাংশন (ইউডিএফ) বিবেচনা করুন :

Public Function GetEmailAddy(Sin As String) As String
    Dim s As String
    If InStr(1, Sin, "@") = 0 Then
        GetEmailAddy = ""
        Exit Function
    End If

    s = Replace(Sin, Chr(10), " ")
    s = Replace(s, Chr(13), " ")
    s = Application.WorksheetFunction.Trim(s)
    ary = Split(s, " ")

    For Each a In ary
        If InStr(1, a, "@") > 0 Then
            GetEmailAddy = a
            Exit Function
        End If
    Next a
End Function

ব্যবহারকারীর সংজ্ঞায়িত ফাংশন (ইউডিএফ) ইনস্টল এবং ব্যবহার করা খুব সহজ:

  1. ALT-F11 VBE উইন্ডোটি নিয়ে আসে
  2. ALT-I ALT-M একটি নতুন মডিউল খোলে
  3. স্টাফটি আটকে দিন এবং ভিবিই উইন্ডোটি বন্ধ করুন

আপনি যদি ওয়ার্কবুকটি সংরক্ষণ করেন তবে এটির সাথে ইউডিএফ সংরক্ষণ করা হবে। আপনি যদি 2003 এর পরে এক্সেলের কোনও সংস্করণ ব্যবহার করে থাকেন তবে আপনার অবশ্যই ফাইলটিকে .xlsx এর চেয়ে .xlsm হিসাবে সংরক্ষণ করতে হবে

ইউডিএফ অপসারণ করতে:

  1. উপরের মতো ভিবিই উইন্ডোটি আনুন
  2. কোড সাফ করুন
  3. ভিবিই উইন্ডোটি বন্ধ করুন

এক্সেল থেকে ইউডিএফ ব্যবহার করতে:

=GetEmailAddy(A1)

সাধারণভাবে ম্যাক্রোগুলি সম্পর্কে আরও জানতে, দেখুন:

http://www.mvps.org/dmcritchie/excel/getstarted.htm

এবং

http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx

এবং ইউডিএফ-এর নির্দিষ্টকরণের জন্য, দেখুন:

http://www.cpearson.com/excel/WritingFunctionsInVBA.aspx

এটি কাজ করার জন্য ম্যাক্রোগুলিকে সক্ষম করতে হবে!

এখানে কিছু উদাহরন:

এখানে চিত্র বর্ণনা লিখুন

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.