r - একটি নির্দিষ্ট সাবস্ট্রিং উত্তোলন(ইমেল ঠিকানা)




regex substring (3)

আপনি "কিছু কিছু **, তারপরে <, তারপরে (কিছু), তারপরে> তারপর কিছু" এই প্যাটার্নটি সন্ধান করতে পারেন এবং সেই প্যাটার্নটি parent 1 (এবং একটি অতিরিক্ত he পালাতে) দ্বারা নির্দেশিত বন্ধনীগুলির মধ্যবর্তী অংশের সাথে প্রতিস্থাপন করতে পারেন।

sub('.*<(.*)>.*', '\\1', v1)
# [1] "[email protected]" "[email protected]" 

** "যে কোনও কিছু" এর অর্থ লাইন ব্রেক ছাড়া কিছু নয়

আমি দেখতে ভেরিয়েবল থেকে কিছু নির্দিষ্ট টানতে চেষ্টা করছি:

v1 <- c("Persons Name <[email protected]>","person 2 <[email protected]>")

(এই চলকটির শত শত পর্যবেক্ষণ রয়েছে)

আমি শেষ পর্যন্ত একটি দ্বিতীয় পরিবর্তনশীল তৈরি করতে চাই যা এই আউটপুটটি দিতে তাদের ইমেলটি টান:

v2 <- c("[email protected]", "[email protected]")

আমি এই কিভাবে করব? আমি ব্যবহার করতে পারি একটি নির্দিষ্ট প্যাকেজ আছে? বা grep এবং substr সমন্বিত আমার কোনও ফাংশন করা substr ?


আপনি এমন একটি প্যাটার্ন সন্ধান করতে পারেন যা regexpr ব্যবহার করে ইমেলের মতো মনে হয়। যদি কোনও মিল পাওয়া যায়, তবে substring ব্যবহার করে প্রাসঙ্গিক অংশটি বের করুন। প্রারম্ভিক অবস্থান এবং ম্যাচের দৈর্ঘ্য regexpr সরবরাহ করে

inds = regexpr(pattern = "<(.*@.*\\..*)>", v1)
ifelse(inds > 1,
       substring(v1, inds + 1, inds + attr(inds, "match.length") - 2),
       NA)
#[1] "[email protected]" "[email protected]"







substring