/ / # रूबी-ऑन-रेल से पहले सभी वर्ण खोजें और बदलें

# - ruby-on-rails से पहले सभी वर्णों को ढूंढें और बदलें

मेरे पास एक सरणी है जिसमें तार हैं। प्रत्येक स्ट्रिंग इस तरह दिखता है:

Debit Card Purchase 06/14 06:09p #1936 UIC CAMPUS PRKG ADMIN CHICAGO IL 16168

मैं केवल नाम के रूप में केवल UIC CAMPUS PRKG ADMIN CHICAGO IL 16168 को बनाए रखने के लिए "#" वर्ण से पहले सभी को निकालना चाहूंगा। मैं रेलिंग स्क्रिप्टिंग का उपयोग रेल में कैसे कर सकता हूं?

यदि मुझे लगता है, तो मैं सिर्फ UIC CAMPUS PRKG ADMIN प्राप्त करना चाहूंगा लेकिन यह सुनिश्चित नहीं कर सकता कि मैं इस भाग को कैसे अलग कर सकता हूं लेकिन यदि यह संभव है तो सुनिश्चित नहीं है। उस पर भी सुझाव की तलाश है।

उत्तर:

उत्तर № 1 के लिए 1

str = "Debit Card .... PRKG ADMIN CHICAGO IL 16168"

आप दूसरा भाग निकाल सकते हैं

str = str.sub(/.*#d+s*/, "") = "UIC CAMPUS PRKG ADMIN CHICAGO IL 16168"

वैकल्पिक रूप से आप स्ट्रिंग पर विभाजन का उपयोग कर सकते हैं

str = str.split(/#d+s*/).last = "UIC CAMPUS PRKG ADMIN CHICAGO IL 16168"

फिर शहर, राज्य और ज़िप को हटाने के लिए

str = str.sub(/(s*w+s*){2}d+$/,"") = "UIC CAMPUS PRKG ADMIN"


जवाब के लिए 0 № 2

शायद ऐसा कुछ?

# (s = "Debit ... IL 16168")
s.sub /.*#d+ /, "" # => "UIC CAMPUS PRKG ADMIN CHICAGO IL 16168"

फिर आप दूसरे चर या उपयोग के लिए असाइन करेंगे s.sub! /.../, ""