আমার একটা স্ট্রিং আছে
"1,2,3,4"
এবং আমি এটিকে একটি অ্যারেতে রূপান্তর করতে চাই:
[1,2,3,4]
কিভাবে?
আমার একটা স্ট্রিং আছে
"1,2,3,4"
এবং আমি এটিকে একটি অ্যারেতে রূপান্তর করতে চাই:
[1,2,3,4]
কিভাবে?
উত্তর:
>> "1,2,3,4".split(",")
=> ["1", "2", "3", "4"]
বা পূর্ণসংখ্যার জন্য:
>> "1,2,3,4".split(",").map { |s| s.to_i }
=> [1, 2, 3, 4]
বা রুবির পরবর্তী সংস্করণগুলির জন্য (> = 1.9 - অ্যালেক্স দ্বারা নির্দেশিত):
>> "1,2,3,4".split(",").map(&:to_i)
=> [1, 2, 3, 4]
"1,2,3,4".split(",")
স্ট্রিং হিসাবে
"1,2,3,4".split(",").map { |s| s.to_i }
পূর্ণসংখ্যা হিসাবে
String Integer
স্থান ছাড়াString
arr = "12345"
arr.split('')
output: ["1","2","3","4","5"]
String Integer
যেমন স্থান সঙ্গেString
arr = "1 2 3 4 5"
arr.split(' ')
output: ["1","2","3","4","5"]
String Integer
স্থান ছাড়াInteger
arr = "12345"
arr.split('').map(&:to_i)
output: [1,2,3,4,5]
arr = "abc"
arr.split('')
output: ["a","b","c"]
ব্যাখ্যা :
arr
-> স্ট্রিং যা আপনি কোনও ক্রিয়া সম্পাদন করতে যাচ্ছেন।split()
-> একটি পদ্ধতি, যা ইনপুট বিভক্ত করে এবং এটিকে হিসাবে সংরক্ষণ করে।''
বা ' '
বা ','
-> একটি মান, যা প্রয়োজন হয় দেওয়া পংক্তি থেকে অপসারণ করা হয়।কমাটির মতো ডিলিমিটারযুক্ত স্ট্রিংকে রূপান্তর করার সহজ উপায়টি কেবল বিভাজন পদ্ধতিটি ব্যবহার করা
"1,2,3,4".split(',') # "1", "2", "3", "4"]
আপনি রুবি ডক্সে কীভাবে বিভাজন পদ্ধতি ব্যবহার করবেন সে সম্পর্কে আরও তথ্য পেতে পারেন
এই সাবস্ট্রিংয়ের একটি অ্যারে ফেরত দিয়ে একটি ডিলিমিটারের উপর ভিত্তি করে স্ট্রাস্টগুলিকে বিভক্ত করে।
যদি প্যাটার্নটি একটি স্ট্রিং হয়, তবে স্ট্রিং বিভক্ত করার সময় এর সামগ্রীগুলি ডিলিমিটার হিসাবে ব্যবহৃত হয়। যদি প্যাটার্নটি একটি একক স্থান হয় তবে স্ট্রিং সাদা অংশে বিভক্ত হয়, শীর্ষস্থানীয় সাদা স্থান এবং স্বচ্ছ স্পেস অক্ষরের রানগুলি অগ্রাহ্য করা হয়।
যদি প্যাটার্নটি একটি রেজিপেক্স হয় তবে স্ট্রিংটি যেখানে বিভক্ত হয় সেখানে প্যাটার্নটি মেলে। যখনই প্যাটার্নটি শূন্য-দৈর্ঘ্যের স্ট্রিংয়ের সাথে মেলে, স্ট্র পৃথক অক্ষরে বিভক্ত হয়। যদি প্যাটার্নে গোষ্ঠী থাকে তবে সংশ্লিষ্ট ম্যাচগুলিও অ্যারেতে ফিরে আসবে।
যদি প্যাটার্নটি বাদ দেওয়া হয় তবে $ এর মান; ব্যবহৃত হয়. যদি $; নিল (যা পূর্বনির্ধারিত), স্ট্রাইটটি স্পেসে বিভক্ত হয় যেন `'নির্দিষ্ট করা থাকে।
সীমা পরামিতি বাদ দেওয়া হলে, নীল ক্ষেত্রগুলি অনুসরণ করা চাপা দেওয়া হবে। যদি সীমাটি একটি ধনাত্মক সংখ্যা হয় তবে সর্বাধিক fields ক্ষেত্রের সংখ্যা ফিরে আসবে (যদি সীমাটি 1 হয়, একটি অ্যারেতে কেবলমাত্র প্রবেশদ্বার হিসাবে পুরো স্ট্রিংটি ফিরে আসে)। যদি নেতিবাচক হয় তবে ফিরে আসা ক্ষেত্রের সংখ্যার কোনও সীমা নেই এবং নাল ক্ষেত্রগুলি পিছনে চাপানো হবে না।
"12345".each_char.map(&:to_i)
each_char
মূলত একই হিসাবে split('')
: এটি একটি অক্ষর এর অক্ষরের একটি অ্যারে বিভক্ত।
হুঁ, আমি এখন বুঝতে পেরেছি যে মূল প্রশ্নে স্ট্রিংটিতে কমা রয়েছে, সুতরাং আমার উত্তরটি সত্যই সহায়ক নয় ;-( ..