पास्कल में, आप एक स्ट्रिंग के भाग का चयन कर सकते हैं (सबस्ट्रिंग)। इसके लिए कॉपी ऑपरेशन का इस्तेमाल किया जाता है।
ऑपरेशन का सामान्य रूप इस प्रकार है:
<पूर्व>
s1 := कॉपी (एस, इंडेक्स, काउंट);
यह आदेश स्ट्रिंग s से एक टुकड़ा लेता है, जो index of length count के वर्ण से शुरू होता है।
उदाहरण के लिए,
<पूर्व>
s1 := कॉपी(s, 3, 5);
यदि इंडेक्स स्ट्रिंग की लंबाई से अधिक है, तो एक खाली स्ट्रिंग वापस आ जाती है। यदि गिनती वर्ण, अनुक्रमणिका से शुरू होकर, स्ट्रिंग की लंबाई से अधिक हैं, तो स्ट्रिंग s लौटा दी जाती है, जो अनुक्रमणिका से प्रारंभ होकर समाप्त होती है।
और यहाँ एक स्ट्रिंग को उल्टा करना कितना आसान है:
<पूर्व>
एस := '0123456789';
एस 1: = रिवर्सस्ट्रिंग (ओं); // s1 = '0123'
|
किसी स्ट्रिंग के हिस्से को हटाने के लिए, आपको डिलीट (एस, फर्स्टइंडेक्स, काउंट) विधि का उपयोग करने की आवश्यकता है: यह स्ट्रिंग s से गिनती वर्णों को हटाती है, जो से शुरू होती है। फर्स्टइंडेक्समजबूत>
<पूर्व>
एस := '0123456789';
हटाएं (एस, 4, 6); // s1="0129"
पूर्व>
स्ट्रिंग के भाग को कॉपी करने के लिए, आप कॉपी(एस, इंडेक्स, काउंट) विधि का उपयोग कर सकते हैं - यह स्ट्रिंग s का एक हिस्सा लौटाएगा, जो इंडेक्स इंडेक्स से शुरू होगा। मजबूत> और लंबाई गणना
<पूर्व>
एस := '123456789';
s1 := प्रतिलिपि (ओं, 3, 4); // s1 = '3456'
पूर्व>
|
स्ट्रिंग्स के साथ काम करने के लिए पास्कल के कई रूटीन हैं। उनमें से कई को डॉट नोटेशन का उपयोग करके बुलाया जाता है और उन्हें तरीके कहा जाता है। स्ट्रिंग हेरफेर विधियों की एक पूरी सूची ऑनलाइन पाई जा सकती है।
आइए उनमें से कुछ से परिचित हों।
<पूर्व>
एस := 'aAbBcC'
ऊपर: = अपरकेस (ओं); // सूप = "एएबीबीसीसी" - एक विधि जो स्ट्रिंग के प्रत्येक वर्ण को अपरकेस में परिवर्तित करती है
slow := लोअरकेस(s) // slow = "aabbcc" - एक विधि जो स्ट्रिंग के प्रत्येक वर्ण को लोअरकेस में परिवर्तित करती है
पूर्व>
विधि हमेशा कोष्ठकों के साथ लिखी जाती है। जरूरत पड़ने पर ब्रैकेट के अंदर कुछ पैरामीटर हैं।
एक और उपयोगी तरीका - वैल <कोड> (एस, वी, इंड) कोड> - यह जांचने की विधि कि स्ट्रिंग के सभी अक्षर अंक हैं या नहीं। s - स्रोत स्ट्रिंग, v में एक संख्या होती है यदि स्रोत स्ट्रिंग एक संख्या थी, और 0 अन्यथा, ind में पहले की संख्या होती है < strong> अनुक्रमणिका s जो एक अंक नहीं है, या 0 यदि s एक संख्या है।
<पूर्व>
एस := 'ab1c'
वैल (एस, वी, इंडस्ट्रीज़);
राइटलन (वी, ' ', इंडस्ट्रीज़); // 0 3
एस := '123';
वैल (एस, वी, इंडस्ट्रीज़);
डब्ल्यू (व्रिटेलन, ' ', इंडस्ट्रीज़); // 123 0
पूर्व>
उपयोगी trim(s) - विधि आपको एक स्ट्रिंग के आरंभ और अंत में रिक्त स्थान निकालने की अनुमति देती है
<पूर्व>
एस := ' एबी 1सी ';
प्रिंट('s=', ट्रिम(s)); // एस = एबी 1 सी
पूर्व>
|
पास्कल में एक स्ट्रिंग के भीतर खोजने के लिए, pos() विधि का उपयोग करें।
यह स्ट्रिंग में सबस्ट्रिंग की पहली घटना का इंडेक्स लौटाता है:
pos(ओरिजिनलस्ट्रिंग, स्मॉलस्ट्रिंग) - ओरिजिनलस्ट्रिंग स्मॉलस्ट्रिंग में दिखता है
जब सबस्ट्रिंग नहीं मिलता है, तो विधि 0 लौटाती है:
<पूर्व>
स्वागत है: = 'नमस्ते दुनिया! अलविदा दुनिया!';
अनुक्रमणिका := स्थिति (स्वागत है, 'wr');
लेख (सूचकांक); // 7
सूचकांक: = स्थिति (स्वागत है, 'सूर्य');
लेख (सूचकांक); // 0
पूर्व>
कृपया ध्यान दें: ये विधियां घटनाओं की संख्या की तलाश नहीं करती हैं, लेकिन केवल यह निर्धारित करती हैं कि स्ट्रिंग में ऐसा सबस्ट्रिंग है या नहीं .
|
पास्कल में, स्ट्रिंग में एक सबस्ट्रिंग को दूसरे से बदलने के लिए, stringReplace(): विधि का उपयोग करें
stringReplace(मूल, पुराना, नया, ध्वज): मूल स्ट्रिंग सबस्ट्रिंग पुराना को बदल दिया गया नया, ध्वज rfReplaceAll या rfIgnoreCase, मानों में से एक है वर्गाकार कोष्ठकों में लिखा गया है। पहले मामले में, पुरानी में मूल स्ट्रिंग, की सभी घटनाएं, दूसरे में, केवल पहली।
पास्कल स्ट्रिंग प्रतिस्थापन उदाहरण:
<पूर्व>
फ़ोन = '+1-234-567-89-10'
// हाइफ़न को रिक्त स्थान में बदल दिया जाता है
edit_phone := stringreplace(फोन, '-', ' ', [rfReplaceAll]);
लेख (संपादित_फोन); // +1 234 567 89 10
// हाइफ़न हटा दिए जाते हैं
edit_phone := stringreplace(फोन, '-', '', [rfReplaceAll]);
लेख (संपादित_फोन); // +12345678910
// केवल पहला डैश बदलता है
संपादित_फोन: = बदलें (फोन, '-', '', [rfIgnoreCase]);
लेख (संपादित_फोन); // +1234-567-89-10
पूर्व>
|