वीबीए में, आप दो तारों की तुलना कर सकते हैं पसंद स्ट्रिंग के मिलान की जांच करने के लिए ऑपरेटर। इस ट्यूटोरियल में, आप सीखेंगे कि विभिन्न पैटर्न के साथ इस ऑपरेटर का उपयोग कैसे करें।
यदि आप सीखना चाहते हैं कि VBA में स्ट्रिंग्स की तुलना कैसे करें, तो यहां क्लिक करें: VBA स्ट्रिंग्स की तुलना करें - StrComp
यदि आप सीखना चाहते हैं कि तुलना ऑपरेटरों का उपयोग कैसे करें, तो यहां क्लिक करें: वीबीए तुलना ऑपरेटर - बराबर और अधिक नहीं
दो स्ट्रिंग्स की तुलना करने के लिए लाइक ऑपरेटर का उपयोग करना
लाइक ऑपरेटर के साथ, हम जांच सकते हैं कि क्या कोई स्ट्रिंग किसी विशिष्ट टेक्स्ट से शुरू होती है, इसमें शामिल है, आदि। डिफ़ॉल्ट रूप से, the पसंद ऑपरेटर बाइनरी पद्धति का उपयोग करके वर्णों की तुलना करता है। इसका मतलब है कि ऑपरेटर केस-संवेदी है। यदि आप इसे केस-असंवेदनशील बनाना चाहते हैं, तो आपको रखना होगा विकल्प टेक्स्ट की तुलना करें अपने मॉड्यूल के शीर्ष पर। इस विधि का प्रयोग करते हुए, पसंद ऑपरेटर "S" और "s" को समान वर्ण मानता है। हमारे उदाहरणों में, हम डिफ़ॉल्ट, केस-संवेदी तुलना का उपयोग करेंगे।
यदि मिलान मौजूद है, तो पसंद ऑपरेटर परिणाम के रूप में सही है, या अन्यथा गलत है।
सबसे पहले, हम उस सरल उदाहरण को देखेंगे जहां हम यह जांचना चाहते हैं कि हमारा स्ट्रिंग वैरिएबल शुरू होता है या नहीं श्री. ऐसा करने के लिए, आपको मेल खाने वाले टेक्स्ट के अंत में एक तारांकन (*) लगाना होगा (श्री*) यहाँ कोड है:
1234567891011121314 | उप लाइक डेमो ()स्ट्रिंग के रूप में मंद strNameबूलियन के रूप में धुंधला परिणामstrName = "मिस्टर माइकल जेम्स"अगर strName जैसे "Mr*" तोblnResult = सहीअन्यथाblnResult = गलतअगर अंतअंत उप |
इस उदाहरण में, हम जांचना चाहते हैं कि क्या string strName साथ शुरू होता है श्री और वेरिएबल में सही या गलत लौटाएं blnपरिणाम.
सबसे पहले, हम का मान सेट करते हैं strName प्रति मिस्टर माइकल जेम्स:
1 | strName = "मिस्टर माइकल जेम्स" |
तब हम का उपयोग करते हैं पसंद यदि कथन में ऑपरेटर:
12345 | अगर strName जैसे "Mr*" तोblnResult = सहीअन्यथाblnResult = गलतअगर अंत |
के रूप में strName साथ शुरू होता है श्री, NS blnपरिणाम सच लौटाता है:
छवि 1. यह जांचने के लिए कि क्या स्ट्रिंग कुछ वर्णों से शुरू होती है, लाइक ऑपरेटर का उपयोग करना
विभिन्न मिलान पैटर्न वाले लाइक ऑपरेटर का उपयोग करना
लाइक ऑपरेटर अलग-अलग पैटर्न के आधार पर दो स्ट्रिंग्स के मिलान की जांच कर सकता है। यहां संभावित मिलान पैटर्न की सूची दी गई है:
पैटर्न कोड |
मिलान का प्रकार |
* | 0 या अधिक वर्णों से मेल खाता है |
? | एकल वर्ण से मेल खाता है |
# | एक अंक से मेल खाता है |
[वर्ण] | एक वर्ण सूची से एक वर्ण से मेल खाता है |
[ए-जेड] | वर्णमाला के किसी भी बड़े अक्षर से मेल खाता है |
[ए-ज़ा-जेड] | वर्णमाला के किसी भी वर्ण से मेल खाता है |
[! वर्ण] | चार सूची को छोड़कर एकल वर्ण से मेल खाता है |
अब हम देख सकते हैं कि कोड में इन पैटर्नों का उपयोग कैसे किया जाता है। यहाँ कई पैटर्न के लिए उदाहरण दिया गया है:
एकल वर्ण मिलान:
1234567 | strText1 = "एबीसीडीई"अगर strText1 जैसे "AB?DE" तोblnResult1 = सहीअन्यथाblnResult1 = गलतअगर अंत |
एक अंक का मिलान:
1234567 | strText2 = "AB7DE"अगर strText2 जैसे "AB#DE" तोblnResult2 = सहीअन्यथाblnResult2 = गलतअगर अंत |
वर्णमाला के किसी भी बड़े अक्षर का मिलान करना:
1234567 | strText3 = "एबीसीडीई"अगर strText3 "AB[A-Z]DE" पसंद है तोblnResult3 = सत्यअन्यथाblnResult3 = गलतअगर अंत |
वर्णमाला से किसी बड़े अक्षर का मिलान नहीं करना:
1234567 | strText4 = "AB7DE"अगर strText4 जैसे "AB[!A-Z]DE" तोblnResult4 = सहीअन्यथाblnResult4 = गलतअगर अंत |
वर्णमाला (अपरकेस या लोअरकेस) से किसी भी वर्ण का मिलान करना:
1234567 | strText5 = "एबीसीडीई"अगर strText5 जैसे "AB[A-Za-z]DE" तोblnResult5 = सत्यअन्यथाblnResult5 = गलतअगर अंत |
जब आप कोड निष्पादित करते हैं, तो आप देख सकते हैं कि पसंद ऑपरेटर रिटर्न ट्रू इन blnपरिणाम हर तुलना के लिए चर:
छवि 2. विभिन्न मिलान पैटर्न के साथ लाइक ऑपरेटर का उपयोग करना