Swift में स्ट्रिंग को ऐरे में कैसे विभाजित करें: उदाहरणों के साथ पूर्ण गाइड

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

परिचय: स्ट्रिंग विभाजन क्यों एक मूलभूत कौशल है जो प्रत्येक Swift डेवलपर को जानना चाहिए

\n\n

एक स्थिति की कल्पना करें: आप CSV फ़ाइल पार्स कर रहे हैं, टेक्स्ट फ़ील्ड से उपयोगकर्ता इनपुट प्रोसेस कर रहे हैं, या JSON-जैसी स्ट्रिंग को डिकोड कर रहे हैं। आप क्या करते हैं? सही — स्ट्रिंग को ऐरे में विभाजित करते हैं। Stack Overflow पर प्रश्न "Split a String into an array in Swift?" को 20,000 से अधिक बार देखा गया है और यह शुरुआती iOS डेवलपर्स के बीच सबसे लोकप्रिय में से एक बन गया है। क्यों? क्योंकि इस कौशल के बिना Swift में कोई भी गंभीर प्रोजेक्ट लिखना असंभव है।

\n\n

इस लेख में, हम Swift में स्ट्रिंग को ऐरे में विभाजित करने के सभी संभावित तरीकों पर चर्चा करेंगे: क्लासिक components(separatedBy:) से लेकर आधुनिक split(separator:) और रेगुलर एक्सप्रेशन के साथ चतुर तरीकों तक। आप जानेंगे कि कार्य के आधार पर कौन सी विधि चुननी है, और तैयार कोड उदाहरण प्राप्त करेंगे जिन्हें आप सीधे अपने Xcode प्रोजेक्ट में डाल सकते हैं।

\n\n

1. क्लासिक विधि: components(separatedBy:)

\n\n

यह विधि Objective-C से हमारे पास आई है और आज भी सक्रिय रूप से उपयोग की जाती है। यह सरल, समझने में आसान और स्विस घड़ी की तरह काम करती है। components(separatedBy:) निर्दिष्ट विभाजक द्वारा विभाजित स्ट्रिंग्स की एक ऐरे [String] लौटाती है।

\n\n
import Foundation\n\nlet text = "सेब,केला,संतरा,कीवी"\nlet fruits = text.components(separatedBy: ",")\nprint(fruits) // ["सेब", "केला", "संतरा", "कीवी"]
\n\n

components(separatedBy:) विधि के महत्वपूर्ण बिंदु:

\n
    \n
  • विभाजक — स्ट्रिंग है। आप कोई भी String पास कर सकते हैं, यहाँ तक कि कई वर्णों वाला भी: "::", " - "।
  • \n
  • खाली तत्व संरक्षित रहते हैं। यदि विभाजकों के बीच कुछ नहीं है, तो ऐरे में एक खाली स्ट्रिंग दिखाई देगी।
  • \n
  • import Foundation आवश्यक है। आयात के बिना विधि उपलब्ध नहीं है।
  • \n
\n\n
let data = "a,,b,c"\nlet parts = data.components(separatedBy: ",")\nprint(parts) // ["a", "", "b", "c"]
\n\n

यह विधि तब आदर्श है जब आपको Swift में स्ट्रिंग को ऐरे में जल्दी और आसानी से विभाजित करना हो, बिना किसी अतिरिक्त जटिलता के। लेकिन याद रखें: यह स्वचालित रूप से खाली उपस्ट्रिंग को नहीं हटाती है।

\n\n

2. आधुनिक विधि: split(separator:maxSplits:omittingEmptySubsequences:)

\n\n

Swift 2.0 से शुरू करके, हमारे पास मूल split() विधि है। यह अधिक लचीली और "स्विफ्टी" है। components के विपरीत, split String के बजाय Substring की एक ऐरे लौटाता है। यह प्रदर्शन अनुकूलन के लिए किया गया है — उपस्ट्रिंग मूल स्ट्रिंग की मेमोरी को संदर्भित करती हैं।

\n\n
let sentence = "तेज़ भूरी लोमड़ी आलसी कुत्ते के ऊपर से कूदती है"\nlet words = sentence.split(separator: " ")\nprint(words) // ["तेज़", "भूरी", "लोमड़ी", "आलसी", "कुत्ते", "के", "ऊपर", "से", "कूदती", "है"]
\n\n

split विधि के पैरामीटर:

\n
    \n
  • separator — विभाजक वर्ण (Character)।
  • \n
  • maxSplits — विभाजनों की अधिकतम संख्या (डिफ़ॉल्ट Int.max)।
  • \n
  • omittingEmptySubsequences — क्या खाली उपस्ट्रिंग को हटाना है (डिफ़ॉल्ट true)।
  • \n
\n\n
let csvLine = "1,2,,4,5"\nlet withEmpties = csvLine.split(separator: ",", omittingEmptySubsequences: false)\nprint(withEmpties) // ["1", "2", "", "4", "5"]\n\nlet withoutEmpties = csvLine.split(separator: ",", omittingEmptySubsequences: true)\nprint(withoutEmpties) // ["1", "2", "4", "5"]
\n\n

यदि आपको Swift में स्ट्रिंग को Substring की ऐरे में विभाजित करना है और आप खाली तत्वों को नियंत्रित करना चाहते हैं — तो split चुनें। और [String] प्राप्त करने के लिए, बस .map(String.init) जोड़ें।

\n\n
let result: [String] = "a,b,c".split(separator: ",").map(String.init)\nprint(result) // ["a", "b", "c"]
\n\n

ब्लॉग

पुस्तक अनुशंसाएँ