কিভাবে রুবিতে একটি স্ট্রিংকে লোয়ার বা আপার ক্ষেত্রে রূপান্তর করতে হয়


1108

আমি কীভাবে একটি স্ট্রিং নেব এবং এটিকে রুবিতে নিম্ন বা উচ্চতর ক্ষেত্রে রূপান্তর করব?

উত্তর:


1587

স্ট্রিংয়ের ক্ষেত্রে পরিবর্তন আনার জন্য রুবির কয়েকটি পদ্ধতি রয়েছে। লোয়ারকেসে রূপান্তর করতে, ব্যবহার করুন 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!"

পড়ুন স্ট্রিং ডকুমেন্টেশন দেখুন।


2
আমি এটির উত্তর দেওয়ার পরে আমি কেবল এটি সম্পর্কে চিন্তাভাবনা করেছি, তবে যাইহোক, উত্তর দেওয়ার জন্য সময় দেওয়ার জন্য আমি আপনাকে কৃতিত্ব দেব give ধন্যবাদ!
তাপ মিশর

3
সতর্ক থেকো! "ব্যাঙ্গ" ব্যবহার করার মতো আমার কাছে মনে হচ্ছে "!" কোনও মূলধন না থাকলে শূন্য ফিরে আসবে। so str = "this" .ডাউস! str = nil
ফিল_কেন_সেবেন

12
প্রায়শই, "ঠ্যাং পদ্ধতি" ফিরে আসে nil; আপনি যদি কোনও স্থানে কোনও বস্তু পরিবর্তন করতে চান তবে আপনার সেগুলি ব্যবহার করা উচিত, আপনি যদি অন্য ভেরিয়েবলের মধ্যে মানটি সংরক্ষণ করতে চান তবে তা নয়।
সোফি আল্পার্ট

6
.titleizeরেল থেকে। রুবি Stringডকুমেন্টেশনে এটি খুঁজে পাওয়া যায় না
ronal88192

3
titleizeএই উত্তরটি থেকে সরানো বা কমপক্ষে এটি একটি রেল পদ্ধতি state
সাগর পান্ড্য

121

আপনি স্ট্রিংয়ের সবগুলি পদ্ধতি আইআরবি খোলার মাধ্যমে এবং চালনার মাধ্যমে তা আবিষ্কার করতে পারেন:

"MyString".methods.sort

এবং বিশেষত স্ট্রিংয়ের জন্য উপলব্ধ পদ্ধতির তালিকার জন্য:

"MyString".own_methods.sort

আমি অবজেক্টগুলি সম্পর্কে নতুন এবং আকর্ষণীয় জিনিসগুলি অনুসন্ধান করতে এটি ব্যবহার করি যা আমি অন্যথায় না জানি থাকতে পারি।


12
এই উত্তরের সাথে একমাত্র সমস্যা হ'ল # ডাউন_মোথডসের উপস্থিতি উপস্থিত নেই। এটি কি ইরব এক্সটেনশন থেকে?
মার্ক ওয়াইল্ডেন

12
হাই - আমি ভেবেছিলাম তখন আমি # জন_স্মৃতিগুলির সাথে নতুন কিছু শিখছি, তবে এটি আমার পক্ষেও নেই। যাইহোক, আমি সাধারণত যান: ( "MyString" .methods - Object.merhods) .sort
oceanician

2
@ ফেকেলফ্ট রেফারেন্সযুক্ত প্যাচের সাথে খুব মিল, এবং আমার এটি .irbrc ফাইলে আছে। আমি বানরকে প্যাচ অবজেক্ট করছি এবং এটি দিয়ে # জন_মেথডস তৈরি করব: (.জ.মেথডস --জেজক্লাস.সুপারক্লাস ইন্ডাস্ট্যান্স_মেথডস) ortসোর্ট
ম্লেম্বি

1
@ লেজার বিশেষত স্ট্রিংয়ের পদ্ধতিগুলি স্ট্রিং শ্রেণিতেই সংজ্ঞায়িত। স্ট্রিংয়ে উপলভ্য পদ্ধতিগুলির মধ্যে এর সুপারক্লাস (এসএস) এ সংজ্ঞায়িত জিনিসগুলি অন্তর্ভুক্ত থাকে।
মনিকা এর মামলা মোকদ্দমা করুন

1
String.public_instance_methods(false)নির্দিষ্টভাবে দ্বারা সংজ্ঞায়িত সমস্ত জনসাধারণের উদাহরণ পদ্ধতিগুলি সন্ধান করতে ব্যবহার করুন String
3limin4t0r

39

@EndeR এর মতো উল্লেখ করা হয়েছে, যদি আন্তর্জাতিকীকরণের উদ্বেগ হয় তবে ইউনিকোড_টিলস রত্ন পর্যাপ্ত পরিমাণের চেয়ে বেশি।

$ gem install unicode_utils
$ irb
> require 'unicode_utils'
=> true
> UnicodeUtils.downcase("FEN BİLİMLERİ", :tr)
=> "fen bilimleri"

রুবি ২.৪-এ স্ট্রিং ম্যানিপুলেশনগুলি এখন ইউনিকোড-সংবেদনশীল।


18

রুবি downcaseপদ্ধতিটি ছোট হাতের অক্ষর দ্বারা প্রতিস্থাপিত করে তার বড় হাতের অক্ষর দিয়ে একটি স্ট্রিং প্রদান করে।

"string".downcase

https://ruby-doc.org/core-2.1.0/String.html#method-i-downcase


রুবি রূপান্তরগুলি এখানে: techotopia.com/index.php/Ruby_String_Cversvers
TStamper

2
প্রযুক্তিগতভাবে এটি প্রশ্নের উত্তর দিতে সহায়তা করে, তবে এটি সত্যই আরও আলোকিত করা উচিত। সম্ভবত ফলাফল দেখাবেন? ডকুমেন্টেশনের লিঙ্ক হতে পারে?
টিন ম্যান

12

... এবং বড় হাতের অক্ষরটি হ'ল:

"Awesome String".upcase
=> "AWESOME STRING"

11

পাগল সক্রিয় সমর্থন মণি প্রদান করে 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  ÁÂÃÀÇÉÊÍÓÔÕÚ"

1

তোমার মত স্ট্রিং পদ্ধতি জানতে পারেন "strings".methods আপনি হিসাবে স্ট্রিং বর্ণনা করতে পারেন upcase, downcase, titleize। উদাহরণ স্বরূপ,

"hii".downcase
"hii".titleize
"hii".upcase

1

.Swapcase পদ্ধতি বদলে দেয় একটি স্ট্রিং বড়হাতের বর ছোট হাতের অক্ষরে এবং ছোট হাতের অক্ষর বড় হাতের অক্ষরে।

'TESTING'.swapcase #=> testing
'testing'.swapcase #=> TESTING

1
ধন্যবাদ! আমি ঠিক এটিই খুঁজছিলাম। একটি মিশ্র কেস স্ট্রিং এটিকে আরও স্পষ্ট করে তুলতে পারে এই পদ্ধতিটি ঠিক কী করে ...'Testing'.swapcase #=> tESTING
ম্যাথু


0

প্রত্যেকের জন্য কাজ করবে না, তবে এটি আমার বেশিরভাগ সময় সাশ্রয় করেছে। একটি CSV "সত্য" বা "মিথ্যা" ফেরত নিয়ে আমার কেবল সমস্যা হয়েছিল তাই আমি কেবল VALUE.to_s.downcase == "সত্য" যুক্ত করেছি যা বুলিয়ান সত্যটি ফিরিয়ে দেবে যদি মান "সত্য" হয় এবং মান "মিথ্যা" হয় ", তবে তবুও সত্য এবং মিথ্যা বুলিয়ানটির পক্ষে কাজ করবে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.