रूबी स्ट्रिंग हेरफेर के लिए सीधी विधियाँ प्रदान करता है, जिसमें कैपिटलाइजेशन शामिल है.
(कैसे करें:) रूबी में स्ट्रिंग्स को कैसे जोड़ें.
/ कैसे करें: पुराने ज़माने में, कंप्यूटर अक्षरों को महज़ नंबरों के रूप में पहचानते थे। लेकिन, इंसानों को तो अक्षरों की ज़रूरत होती है, तो फिर ‘Character Encoding Standards’ आए। ASCII एक मानक है जो सीधे सीधे कहे तो अंग्रेज़ी अक्षरों के लिए है। लेकिन यूनिकोड, जो की एक बड़ा मानक है, विश्व की विभिन्न भाषाओं के लिए है। Ruby में downcase मेथड यूनिकोड का समर्थन करता है, इसलिए यह अलग अलग लैंग्वेज के केस ट्रांसफॉर्मेशन के लिए उपयोगी है। हालांकि, .downcase के विकल्प के रूप में .downcase! और .downcase के अन्य समान विधियां भी हैं, जिनमें .swapcase और capitalize शामिल हैं जो केस को विशिष्ट तरीकों में बदलती हैं। Ruby डेवलपर को यह ध्यान रखना होगा कि भिन्न भाषाएँ और उनके केस नियम भिन्न होते हैं। कुछ अक्षरों का लोअरकेस परिवर्तन सीधा नहीं होता। String#downcase को समझने के लिए यह जानना महत्वपूर्ण है कि यह Unicode Character Database (UCD) का अनुसरण करता है।.
downcase
.downcase
.downcase!
.swapcase
capitalize
String#downcase
(कैसे करें:) जब स्ट्रिंग्स में से निश्चित पैटर्न मैच करके कैरेक्टर्स हटाने की बात आती है, तो Ruby के String#delete मेथड की बराबरी मुश्किल है। पुराने जमाने में, लोग पैटर्न मैचिंग के लिए जटिल लूप्स और स्ट्रिंग ऑपरेशन्स करते थे, जो समय लेने वाला था। Ruby ने इसे अधिक सरल और तेज़ बनाया है। अल्टरनेटिव्स के तौर पर, प्रोग्रामर String#gsub या String#gsub! का उपयोग कर सकते हैं, जो रेगुलर एक्सप्रेशंस (regex) को सपोर्ट करता है। कार्यान्वयन के बारे में, String#delete कम समय में और कम मेमोरी इस्तेमाल करके तेजी से काम करता है, जिससे यह बड़े डेटा सेट्स के लिए भी उपयुक्त बनता है।.
String#delete
String#gsub
String#gsub!
(कैसे करें:) उपवाच्य निकालने की जरूरत स्ट्रिंग मैनिपुलेशन के शुरुआती दिनों से ही थी। Ruby में [] मेथड और रेंज ऑब्जेक्ट्स (..) या (…), का उपयोग करके हम आसानी से उपवाच्य निकाल सकते हैं। इसमें वैकल्पिक तरीके भी हैं, slice मेथड जो [] के समान ही काम करता है। रेगुलर एक्सप्रेशन्स का इस्तेमाल करके अधिक जटिल उपवाच्य धारावाहिक को निकालना भी संभव है। रुबी की ये शक्तियां इसे टेक्स्ट प्रोसेसिंग में काफी कुशल बनाती हैं।.
[]
(..)
(…)
slice
(कैसे करें:) स्ट्रिंग की लम्बाई जानना आधुनिक प्रोग्रामिंग में एक मूलभूत काम है। शुरुआती कंप्यूटिंग दौर में, मेमोरी की कमी थी और प्रत्येक बाइट का हिसाब होता था। रूबी में .length और .size दोनों ही स्ट्रिंग की लम्बाई बताते हैं और दोनों एक जैसे ही काम करते हैं। कुछ अन्य भाषाओं में इसके लिए अलग तरीके हो सकते हैं - जैसे जावा में .length() और जावास्क्रिप्ट में .length प्रॉपर्टी। रूबी का इंटर्नल इम्पलीमेंटेशन सी प्रोग्रामिंग भाषा में लिखा गया है इसलिए जब आप .length का इस्तेमाल करते हैं, तो यह इंटर्नली उस स्ट्रिंग के चारेक्टर-एर्रे को स्कैन करता है और सभी चारेक्टर की गिनती करता है।.
.length
.size
.length()
(कैसे करें:) स्ट्रिंग इंटरपोलेशन की शुरूआत Ruby के प्रारंभिक वर्जन्स से ही हो गई थी क्योंकि यह डायनेमिक स्ट्रिंग बनाने का एक शक्तिशाली तरीका है। सीधे "#{}" इस्तेमाल करके हम वेरिएबल, एक्सप्रेशन, या किसी भी Ruby कोड को स्ट्रिंग के अंदर चला सकते हैं। वैकल्पिक तरीकों में + ऑपरेटर और String#concat मेथड शामिल हैं, लेकिन ये इतने फ्लेक्सिबल और साफ नहीं होते। इंटरपोलेशन में यदि किसी वेरिएबल की वैल्यू nil है, तो Ruby उसे एम्प्टी स्ट्रिंग "" के तौर पर प्रिंट कर देगी। इंटरपोलेशन के दौरान स्ट्रिंग्स ऑटोमेटिकली .to_s मेथड से गुजरती है, जिससे नॉन-स्ट्रिंग वैल्यूज़ को भी स्ट्रिंग में बदला जा सकता है।.
"#{}"
+
String#concat
nil
""
.to_s
रूबी के पास उन परेशान करने वाले उद्धरण चिह्नों को निकालने के लिए कुछ अच्छी तरकीबें हैं। आप gsub या delete मेथड्स का उपयोग करके काम कर सकते हैं। यहाँ कुछ कोड दिया गया है.
gsub
delete
(कैसे करें:) सर्च और रिप्लेस फंक्शन से स्ट्रिंग में बदलाव आसानी से हो जाते हैं। gsub मेथड रेगुलर एक्सप्रेशन्स को सपोर्ट करता है, जो कॉम्प्लेक्स पैटर्न्स की खोज करते हैं। ये सुविधा शुरुआती दिनों से ही रूबी में है, Perl से प्रेरित होकर जिसे पावरफुल टेक्स्ट प्रोसेसिंग के लिए डिजाइन किया गया था। sub मेथड भी है जो केवल पहली इंस्टेंस को रिप्लेस करता है। स्ट्रिंग प्रोसेसिंग परफॉरमेंस पर असर डाल सकती है, इसलिए हमेशा रेगेक्स पैटर्न्स को इफेक्टिवली लिखना चाहिए।.
sub
एक सरल पैटर्न के खिलाफ स्ट्रिंग का मिलान करने के लिए, आप match विधि का उपयोग कर सकते हैं। नीचे, हम जांच रहे हैं कि दिया गया स्ट्रिंग में “Ruby” शब्द मौजूद है या नहीं।.
match