मुझे यह जानने की ज़रूरत है कि -replace
ऑपरेटर या Replace()
विधि का उपयोग करते समय पावरहेल द्वारा कितने प्रतिस्थापन किए जाते हैं। या, यदि यह संभव नहीं है, तो अगर उसने कोई प्रतिस्थापन किया है।पावरहेल, आपने कितने प्रतिस्थापन किए हैं?
उदाहरण के लिए, पर्ल में, क्योंकि प्रतिस्थापन आपरेशन किए गए प्रतिस्थापन की संख्या देता है, और शून्य गलत है, जबकि गैर शून्य एक बूलियन संदर्भ में सच है, एक लिख सकते हैं:
$greeting = "Hello, Earthlings";
if ($greeting ~= s/Earthlings/Martians/) { print "Mars greeting ready." }
हालांकि Powershell के साथ ऑपरेटर और विधि नई स्ट्रिंग वापस। ऐसा प्रतीत होता है कि ऑपरेटर कुछ अतिरिक्त जानकारी प्रदान करता है, अगर कोई जानता है कि इसके लिए कैसे पूछना है (उदाहरण के लिए, कैप्चर किए गए समूह एक नए चर में संग्रहीत होते हैं जो वर्तमान दायरे में बनाता है), लेकिन मुझे पता नहीं चल सकता कि गिनती कैसे प्राप्त करें या सफलता मूल्य
मैं मूल्यों के पहले और बाद में तुलना कर सकता हूं, लेकिन यह पूरी तरह से अक्षम है।
महान समाधान! –
यह मेरे लिए पीएस 3/विंडोज 8 पर काम नहीं करता है। प्रतिस्थापन काम करता है, लेकिन $ गिनती 0 है। हालांकि, जब मैं पीएस 2 इम्यूलेशन (पावरहेल-वर्जन 2 के माध्यम से) में चलता हूं तो यह काम करता है। – bart
मुझे पता चला कि यह विंडोज प्रबंधन फ्रेमवर्क 3 रिलीज नोट्स में प्रलेखित परिवर्तन की वजह से है: "स्क्रिप्ट ब्लॉक अपने स्वयं के दायरे में चलाए गए प्रतिनिधियों के रूप में निष्पादित"। $ गिनती वैश्विक बनाने से समस्या हल हो जाती है। – bart