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


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.