পাঠ্যের একটি স্ট্রিং কীভাবে পাবেন?


172

আমার দৈর্ঘ্য ~ 700 সহ পাঠ্য রয়েছে। আমি এর প্রথম অক্ষরগুলির মধ্যে কেবলমাত্র? 30 পাব?

উত্তর:



207

ব্যবহার String#sliceহিসাবে, aliised হিসাবে []।

a = "hello there"
a[1]                   #=> "e"
a[1,3]                 #=> "ell"
a[1..3]                #=> "ell"
a[6..-1]               #=> "there"
a[-3,2]                #=> "er"
a[-4..-2]              #=> "her"
a[12..-1]              #=> nil
a[-2..-4]              #=> ""
a[/[aeiou](.)\1/]      #=> "ell"
a[/[aeiou](.)\1/, 0]   #=> "ell"
a[/[aeiou](.)\1/, 1]   #=> "l"
a[/[aeiou](.)\1/, 2]   #=> nil
a["lo"]                #=> "lo"
a["bye"]               #=> nil

31
পরিষ্কার -1হওয়ার জন্য, স্ট্রিংয়ের শেষে যেতে ব্যবহৃত হয়, তাই a[1..-1] #=> "ello there"।
— জোশুয়া পিন্টার

5
এই কিছু সুস্পষ্ট হতে পারে, কিন্তু এটা না নেতিবাচক পদের জন্য একটি কমা ব্যবহার করতে ঠিক আছে: a[-4,-2]। শুধুমাত্র বৈধ স্বরলিপি দুই বিন্দু হল: a[-4..-2]। এটি হার্ড উপায় শিখেছি।
— ক্যাভপোলো

24

যেহেতু আপনি এটি রেল ট্যাগ করেছেন, আপনি ছাঁটাই ব্যবহার করতে পারেন:

http://api.rubyonrails.org/classes/ActionView/Helpers/TextHelper.html#method-i-truncate

উদাহরণ:

 truncate(@text, :length => 17)

অংশটিও জেনে ভাল লাগছে, এটি আপনাকে এমন কোনও পাঠ্যের একটি অংশ প্রদর্শন করতে দেয়:

 excerpt('This is an example', 'an', :radius => 5)
 # => ...s is an exam...

http://api.rubyonrails.org/classes/ActionView/Helpers/TextHelper.html#method-i-excerpt


9
রুবি রেল নয়।
— জো আডম

@ জোডম ট্যাগটি অ্যান্ড্রু মার্শাল দ্বারা পরিবর্তন করা হয়েছিল
— 12

পরিবর্তনের কোন যৌক্তিকতা ছিল? ওপি যদি রেলগুলিতে কাজ করে এবং রেলগুলিতে সমাধানের জন্য জিজ্ঞাসা করে, তবে প্রশ্নটি রেলগুলির সাথে ট্যাগ করা উচিত। এবং তারপরে আপনার উত্তরটি বোঝা যাবে।
— জো আডম

@ জোóÁদম প্রশ্নটি ওপেন দ্বারা রেলগুলিকে ট্যাগ করেছিলেন, মূল
— বক্তব্যটি

আমি এটি পেয়েছি, ট্যাগটি কেন সরানো হয়েছে তা আমি দেখতে পাচ্ছি না। আমি প্রশ্নটি সম্পাদনা করেছি এবং এটি স্পষ্টভাবে জানিয়েছি এটি রেলগুলি সম্পর্কে। এটি পর্যালোচনা মুলতুবি রয়েছে।
— জো আডম

12

আপনার যদি রেলের দরকার হয় তবে আপনি প্রথমে ব্যবহার করতে পারেন ( উত্স কোড )

'1234567890'.first(5) # => "12345"

রয়েছে গত ( সোর্স কোড )

'1234567890'.last(2) # => "90"

বিকল্পভাবে / থেকে ( উত্স কোড ) চেক করুন:

"hello".from(1).to(-2) # => "ell"

NoMethodError: undefined method `first' for "abcde":String, এটি কি রেলের প্রয়োগ?
— Tiw

হ্যাঁ, এটা তবে আপনি পোস্ট করা উত্স কোড ফর্মের লিঙ্কগুলিও অনুলিপি করতে পারেন
— আরে করজউভ

0

আপনি যদি একটি স্ট্রিং চান, তবে অন্যান্য উত্তরগুলি ঠিক আছে, তবে আপনি যা খুঁজছেন তা যদি অক্ষর হিসাবে প্রথম কয়েকটি অক্ষর হয় তবে আপনি সেগুলি তালিকা হিসাবে অ্যাক্সেস করতে পারবেন:

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