जवाबों:
रूबी में तार के मामले को बदलने के लिए कुछ तरीके हैं। लोअरकेस में बदलने के लिए, उपयोग करें downcase
:
"hello James!".downcase #=> "hello james!"
इसी तरह, upcase
हर अक्षर को कैपिटल करता है और capitalize
स्ट्रिंग के पहले अक्षर को कैपिटल करता है, लेकिन बाकी को नीचे कर देता है:
"hello James!".upcase #=> "HELLO JAMES!"
"hello James!".capitalize #=> "Hello james!"
"hello James!".titleize #=> "Hello James!"
यदि आप किसी स्ट्रिंग को जगह में बदलना चाहते हैं, तो आप उन विधियों में से किसी में विस्मयादिबोधक बिंदु जोड़ सकते हैं:
string = "hello James!"
string.downcase!
string #=> "hello james!"
का संदर्भ लें स्ट्रिंग के लिए दस्तावेज़ और जानकारी के लिए।
nil
; यदि आप किसी ऑब्जेक्ट को स्थान में बदलना चाहते हैं, तो आपको उनका उपयोग करना चाहिए, न कि यदि आप किसी अन्य चर में मान संग्रहीत करना चाहते हैं।
.titleize
रेल से है। रूबी String
प्रलेखन में इसे नहीं पा सकते हैं
titleize
इस उत्तर से हटाने की आवश्यकता है या कम से कम यह एक नियम विधि है।
आप स्ट्रिंग खोलकर और चलाकर स्ट्रिंग पर उपलब्ध सभी तरीकों का पता लगा सकते हैं:
"MyString".methods.sort
और विशेष रूप से तार के लिए उपलब्ध विधियों की सूची के लिए:
"MyString".own_methods.sort
मैं इसका उपयोग उन वस्तुओं के बारे में नई और दिलचस्प बातों का पता लगाने के लिए करता हूं जिन्हें मैं नहीं जानता था।
String.public_instance_methods(false)
विशेष रूप से परिभाषित सभी सार्वजनिक उदाहरण विधियों को खोजने के लिए उपयोग करें String
।
जैसे @endeR का उल्लेख है, अगर अंतर्राष्ट्रीयकरण एक चिंता है, तो यूनिकोड_यूटिल्स मणि पर्याप्त से अधिक है।
$ gem install unicode_utils
$ irb
> require 'unicode_utils'
=> true
> UnicodeUtils.downcase("FEN BİLİMLERİ", :tr)
=> "fen bilimleri"
रूबी 2.4 में स्ट्रिंग जोड़तोड़ अब यूनिकोड-संवेदनशील हैं।
माणिक downcase
विधि अपने अपरकेस अक्षरों के साथ लोअरकेस अक्षरों द्वारा प्रतिस्थापित एक स्ट्रिंग लौटाती है।
"string".downcase
https://ruby-doc.org/core-2.1.0/String.html#method-i-downcase
रेल सक्रिय समर्थन मणि प्रदान करता है upcase
, downcase
, swapcase
, capitalize
, आदि अंतर्राष्ट्रीयकरण समर्थन के साथ तरीके:
gem install activesupport
irb -ractive_support/core_ext/string
"STRING ÁÂÃÀÇÉÊÍÓÔÕÚ".mb_chars.downcase.to_s
=> "string áâãàçéêíóôõú"
"string áâãàçéêíóôõú".mb_chars.upcase.to_s
=> "STRING ÁÂÃÀÇÉÊÍÓÔÕÚ"
आप की तरह तार विधि पा सकते हैं "strings".methods
आप के रूप में स्ट्रिंग परिभाषित कर सकते हैं upcase
, downcase
, titleize
। उदाहरण के लिए,
"hii".downcase
"hii".titleize
"hii".upcase
.Swapcase विधि रूपांतरण एक स्ट्रिंग में अपरकेस latters लोअरकेस और छोटे अक्षरों को अपरकेस में।
'TESTING'.swapcase #=> testing
'testing'.swapcase #=> TESTING
'Testing'.swapcase #=> tESTING
रूबी 2.4 के बाद से एक पूर्ण यूनिकोड केस मैपिंग में बनाया गया है । स्रोत: https://stackoverflow.com/a/38016153/888294 । विवरण के लिए रूबी 2.4.0 प्रलेखन देखें: https://ruby-doc.org/core-2.4.0/String.html#method-addown
हर काम नहीं करेगा, लेकिन इसने मुझे समय का एक समूह बचा लिया। मुझे सिर्फ CSV के साथ "TRUE या" FALSE "की समस्या थी, इसलिए मैंने अभी VALUE.to_s.downcase ==" सत्य "को जोड़ा, जो बूलियन सही लौटाएगा यदि मान" TRUE "है और यदि मान" FALSE "गलत है। ", लेकिन अभी भी बूलियन के लिए सही और गलत काम करेगा।