मेरे पास एक कीवर्ड (उदा। 'हरा') और कुछ पाठ है ("मुझे उन्हें सैम आई एम पसंद नहीं है!")।आर - एक स्ट्रिंग और दूसरे के अक्षरों के बीच मिलान करें, कोई प्रतिस्थापन
मैं देखना चाहता हूं कि कीवर्ड में कितने वर्ण ('जी', 'आर', 'ई', 'ई', 'एन') टेक्स्ट (किसी भी क्रम में) में होते हैं।
इस उदाहरण में जवाब 3 है - पाठ एक जी या आर नहीं है लेकिन दो Es और एक एन
मेरे समस्या पैदा होती है जहां अगर पाठ में एक चरित्र एक चरित्र के साथ मिलान किया जाता है है कीवर्ड में, तो कीवर्ड में किसी भिन्न वर्ण से मेल खाने के लिए उपयोग नहीं किया जा सकता है।
उदाहरण के लिए, यदि मेरा कीवर्ड 'ग्रीन' था, तो "मिलान करने वाले पात्रों" की संख्या अभी भी 3 (एक एन और दो ईएस) है क्योंकि टेक्स्ट में केवल दो एएस हैं, 3 नहीं (तीसरे ई से मेल खाने के लिए कीवर्ड में)।
मैं इसे आर में कैसे लिख सकता हूं? यह सिर्फ मेरी याददाश्त के किनारे पर कुछ टिक रहा है - मुझे लगता है कि यह एक आम समस्या है, लेकिन सिर्फ अलग-अलग शब्द (जैसे किसी प्रतिस्थापन के साथ नमूनाकरण की तरह, लेकिन "कोई प्रतिस्थापन के साथ मेल नहीं"?)।
उदा।
- 'ग्रीन', 'idonotlikethemsamiam', 3 (जी, ई, ई)
- 'greeen:
keyword <- strsplit('greeen', '')[[1]] text <- strsplit('idonotlikethemsamiam', '')[[1]] # how many characters in keyword have matches in text, # with no replacement? # Attempt 1: sum(keyword %in% text) # PROBLEM: returns 4 (all three Es match, but only two in text)
अधिक की उम्मीद इनपुट/आउटपुट (कीवर्ड, पाठ, अपेक्षित आउटपुट) के उदाहरण ',' idonotlikethemsamiam ', 3 (जी, ई, ई)
- ' लाल ',' idonotlikethemsamiam ', 2 (ई और डी)
+1: मैंने निश्चित रूप से आज कुछ सीखा है! – Simon
+1, वास्तव में, बहुत slick –
आह! मैंने 'मैच' और 'आकर्षण' की कोशिश करने में उम्र बिताई और ध्यान नहीं दिया कि 'pmatch' ने डुप्लिकेट (बिल्कुल वही जो मैं चाहता था) की अनुमति नहीं दी थी। आपका बहुत बहुत धन्यवाद! –