आर में विशिष्ट वर्णों के बीच एक स्ट्रिंग कैसे निकालें


आप R में विशिष्ट वर्णों के बीच एक स्ट्रिंग निकालने के लिए निम्नलिखित विधियों का उपयोग कर सकते हैं:

विधि 1: बेस आर का उपयोग करके विशिष्ट वर्णों के बीच स्ट्रिंग निकालें

 gsub(" .*char1 (.+) char2.*", "\\1 ", my_string)

विधि 2: स्ट्रिंगर का उपयोग करके विशिष्ट वर्णों के बीच स्ट्रिंग निकालें

 library (stringr)

str_match(my_string, " char1\\s*(.*?)\\s*char2 ")[,2]

ये दो उदाहरण char1 और char2 के बीच की स्ट्रिंग को my_string में निकालते हैं।

निम्नलिखित उदाहरण दिखाते हैं कि निम्नलिखित डेटा फ़्रेम के साथ व्यवहार में प्रत्येक विधि का उपयोग कैसे करें:

 #create data frame
df <- data. frame (team=c('team Mavs pro', 'team Heat pro', 'team Nets pro'),
                 dots=c(114, 135, 119))

#view data frame
df

           team points
1 Mavs pro team 114
2 team Heat pro 135
3 pro Nets team 119

उदाहरण 1: बेस आर का उपयोग करके विशिष्ट वर्णों के बीच एक स्ट्रिंग निकालें

निम्नलिखित कोड दिखाता है कि डेटा फ़्रेम के टीम कॉलम में प्रत्येक पंक्ति के लिए टीम और प्रो वर्णों के बीच स्ट्रिंग को कैसे निकाला जाए:

 #create new column that extracts string between team and pro
df$team_name <- gsub(" .*team (.+) pro.*", "\\1 ", df$team)

#view updated data frame
df

           team points team_name
1 Mavs pro team 114 Mavs
2 team Heat pro 135 Heat
3 Nets pro team 119 Nets

ध्यान दें कि Team_name नामक नए कॉलम में डेटा फ़्रेम के टीम कॉलम में प्रत्येक पंक्ति के लिए टीम और प्रो वर्णों के बीच स्ट्रिंग शामिल है।

संबंधित : आर में जीएसयूबी() का परिचय

उदाहरण 2: स्ट्रिंगर पैकेज का उपयोग करके विशिष्ट वर्णों के बीच एक स्ट्रिंग निकालें

निम्नलिखित कोड दिखाता है कि आर में स्ट्रिंगर पैकेज के str_match() फ़ंक्शन का उपयोग करके डेटा फ्रेम के टीम कॉलम में प्रत्येक पंक्ति के लिए टीम और प्रो वर्णों के बीच स्ट्रिंग को कैसे निकाला जाए:

 library (stringr)

#create new column that extracts string between team and pro
df$team_name <- str_match(df$team, " team\\s*(.*?)\\s*pro ")[,2]

#view updated data frame
df

           team points team_name
1 Mavs pro team 114 Mavs
2 team Heat pro 135 Heat
3 Nets pro team 119 Nets

ध्यान दें कि Team_name नामक नए कॉलम में डेटा फ़्रेम के टीम कॉलम में प्रत्येक पंक्ति के लिए टीम और प्रो वर्णों के बीच स्ट्रिंग शामिल है।

यह बेस आर में gsub() फ़ंक्शन का उपयोग करने के परिणामों से मेल खाता है।

ध्यान दें कि str_match() फ़ंक्शन एक मैट्रिक्स लौटाता है जिसमें पहले कॉलम में मूल स्ट्रिंग्स होती हैं और दूसरे कॉलम में रुचि की सबस्ट्रिंग होती है।

इस प्रकार, हमें str_match() फ़ंक्शन द्वारा लौटाए गए मैट्रिक्स से केवल दूसरा कॉलम निकालने के लिए [,2] का उपयोग करना चाहिए।

अतिरिक्त संसाधन

निम्नलिखित ट्यूटोरियल बताते हैं कि आर में अन्य सामान्य कार्य कैसे करें:

आर में एक विशिष्ट स्ट्रिंग वाले कॉलम का चयन कैसे करें
आर में एक स्ट्रिंग से अक्षर कैसे हटाएं
आर में एक स्ट्रिंग में वर्ण स्थान कैसे खोजें

एक टिप्पणी जोड़ने

आपका ईमेल पता प्रकाशित नहीं किया जाएगा. आवश्यक फ़ील्ड चिह्नित हैं *