ओह, संभावनाओं कई हैं ...
मान लीजिए कि हम दो तार करते हैं, a = "This-Test has a"
और b = "This has a-Test
।
चूंकि आप किसी स्ट्रिंग कि "Test"
में वास्तव में समाप्त होता है मिलान करना चाहते हैं, एक अच्छा रेगुलर एक्सप्रेशन से /Test$/
जो "राजधानी टी, e
द्वारा पीछा किया, तो s
, तो t
, तो लाइन ($
) के अंत" का अर्थ होगा।
a =~ /Test$/ # => nil (because the string does not match)
b =~ /Test$/ # => 11 (as in one match, starting at character 11)
तुम भी इस्तेमाल कर सकते हैं String#match
:
रूबी =~
ऑपरेटर जो एक स्ट्रिंग के खिलाफ एक रेगुलर एक्सप्रेशन से मिलान किया जाता है (या स्ट्रिंग जैसी वस्तु) है
a.match(/Test$/) # => nil (because the string does not match)
b.match(/Test$/) # => a MatchData object (indicating at least one hit)
या आप String#scan
इस्तेमाल कर सकते हैं :
a.scan(/Test$/) # => [] (because there are no matches)
b.scan(/Test$/) # => ['Test'] (which is the matching part of the string)
या आप बस 01 का उपयोग कर सकते हैं:
/Test$/ === a # => false (because there are no matches)
/Test$/ === b # => true (because there was a match)
या आप String#end_with?
उपयोग कर सकते हैं:
a.end_with?('Test') # => false
b.end_with?('Test') # => true
... या कई अन्य तरीकों में से एक। अपना चयन ले लो।
स्रोत
2013-11-01 14:50:53
अपने downvote कि था? :) –