উত্তর:
আপনি খুঁজছেন casecmp
। 0
যদি দুটি স্ট্রিং সমান হয়, সংবেদনশীলভাবে It
str1.casecmp(str2) == 0
"Apple".casecmp("APPLE") == 0
#=> true
বিকল্পভাবে, আপনি উভয় স্ট্রিংকে লোয়ার কেসে রূপান্তর করতে পারেন ( str.downcase
) এবং সমতার জন্য তুলনা করতে পারেন ।
casecmp
: একটি কেস ইন- সংবেদনশীল তুলনা পদ্ধতির একটি নির্বোধ নাম ?!
== 0
সঙ্গেzero?
"Apple".casecmp("APPLE").zero?
তবে ব্যক্তিগতভাবে আমি নীচে আন্দ্রেসের উত্তরটি পছন্দ করি, যা ব্যবহার করে.casecmp?
ইন রুবি 2.4.0 আপনি:casecmp?(other_str) → true, false, or nil
"abcdef".casecmp?("abcde") #=> false
"aBcDeF".casecmp?("abcdef") #=> true
"abcdef".casecmp?("abcdefg") #=> false
"abcdef".casecmp?("ABCDEF") #=> true
casecmp
জাঙ্কটি দিয়ে জাভা ব্যবহার করছি ।
"aBcDeF".downcase == "abcdef"
পরিবর্তে ব্যবহার করার পরামর্শ দিচ্ছি । আরও অনেক পাঠযোগ্য এবং ব্যবহারের পারফরম্যান্সের লাভগুলি casecmp
রুবি ২.৪++ এ মুছে ফেলা হয়েছে।
false
এবং এর মধ্যে তফাত কী হবে nil
...
আপনি যদি ইউটিএফ -8 স্ট্রিংকে উপেক্ষা করার ক্ষেত্রে তুলনা করতে চান তবে:
>> str1 = "Мария"
=> "Мария"
>> str2 = "мария"
=> "мария"
>> str1.casecmp(str2) == 0
=> false
>> require 'active_support/all'
=> true
>> str1.mb_chars.downcase.to_s.casecmp(str2.mb_chars.downcase.to_s) == 0
=> true
এটি রুবি ২.৩.১ এবং পূর্ববর্তী সংস্করণগুলিতে এইভাবে কাজ করে।
ছোট মেমরির পদচিহ্নগুলির জন্য আপনি চেরি বাছাই করতে পারেন string/multibyte
:
require 'active_support'
require 'active_support/core_ext/string/multibyte'
সম্পাদনা করুন , রুবি ২.৪.০:
>> str1.casecmp(str2) == 0
=> false
সুতরাং casecmp
2.4.0 এ কাজ করে না; তবে ২.৪.০-তে কেউ ইউটিএফ -8 স্ট্রিংকে active_support
মণি ছাড়াই ম্যানুয়ালি তুলনা করতে পারেন :
>> str1.downcase == str2.downcase
=> true
কেসক্যাম্প এবং শূন্য? রুবি ইনবিল্ট পদ্ধতি। কেসক্যাম্প 0 প্রদান করে যদি দুটি স্ট্রিং সমান হয়, সংবেদনশীল এবং শূন্য হয়? শূন্য মানের জন্য চেক (== 0)
str1.casecmp(str2).zero?
0
, বিশেষত যখন আরও জড়িত শর্তের সাথে বাসা বেঁধে থাকে।
রুবি 2.4 কাজ জরিমানা কেসক্যাম্পের জন্য? utf-8 স্ট্রিংয়ের জন্য (এমবি_চার্স প্রয়োজন নেই):
2.4.1 :062 > 'строка1'.casecmp?('СтроКа1')
=> true
তবে কেসসিএমপি 8-এর জন্য কাজ করছে না:
2.4.1 :062 > 'строка1'.casecmp('СтроКА1')
=> 1
2.4.1 :063 > 'string1'.casecmp('StrInG1')
=> 0