से सभी अंक कैसे "में प्रकाशित किया 123 456 879 ipsum" => "123,456,879" माणिक में regexp का उपयोग कर की तरह एक वाक्य स्ट्रिंग से सभी अंक प्राप्त करने के लिए प्राप्त करने के लिए?कैसे स्ट्रिंग regexp माणिक
19
A
उत्तर
43
बस बाकी सब कुछ बदलें।
result = subject.gsub(/[^\d]/, '')
4
"Lorem 123 ipsum 456 879".scan(/\d+/).join # => "123456879"
6
रेफरी this
result = subject.gsub(/\D/, '')
1
कुछ सही जवाब पहले ही दिया है, जो शायद शामिल क्या आप उपयोग करना चाहते। एक से थोड़ा अधिक निम्न स्तर के रास्ते:
"Lorem 123 ipsum 456 879".chars.select {|c| c =~ /\d/}.join
7
regex बिना
:
"Lorem 123 ipsum 456 879".delete('^0-9') #=>"123456879"
0
मैं हमेशा कोष्ठक बात का उपयोग कर सोचा
"nwa240".chars.select {|s| s =~ /[0-9]/}
4
पढ़ने के लिए संस्करण आसान था से @steenslag है सबसे तेज़, thx!
require 'benchmark'
class ExtractInt
def self.v1(string)
string.gsub(/[^\d]/, '')
end
def self.v2(string)
string.gsub(/\D/, '')
end
def self.v3(string)
string.delete('^0-9')
end
def self.run(m, arg)
10000.times do
self.send(m, arg)
end
end
end
Benchmark.bmbm do |x|
x.report('v1') { ExtractInt.run(:v1, 'AAAA4000') }
x.report('v2') { ExtractInt.run(:v2, 'AAAA4000') }
x.report('v3') { ExtractInt.run(:v3, 'AAAA4000') }
end
# Rehearsal --------------------------------------
# v1 0.040000 0.000000 0.040000 ( 0.041564)
# v2 0.040000 0.000000 0.040000 ( 0.042386)
# v3 0.010000 0.000000 0.010000 ( 0.011604)
# ----------------------------- total: 0.090000sec
# user system total real
# v1 0.040000 0.000000 0.040000 ( 0.042176)
# v2 0.040000 0.000000 0.040000 ( 0.043753)
# v3 0.010000 0.000000 0.010000 ( 0.012960)
संबंधित मुद्दे
- 1. माणिक regexp समीकरणों को बदलने के लिए
- 2. माणिक regex - कैसे एक स्ट्रिंग
- 3. कैसे माणिक
- 4. RegExp मिलान स्ट्रिंग मेरे
- 5. कैसे माणिक
- 6. माणिक की # {value} (स्ट्रिंग प्रक्षेप)
- 7. जांचें कि स्ट्रिंग जावास्क्रिप्ट RegExp
- 8. regexp
- 9. माणिक
- 10. कैसे माणिक
- 11. कैसे माणिक
- 12. Regexp
- 13. regexp
- 14. regexp
- 15. माणिक
- 16. मैच न्यू लाइन `\ n` माणिक regex
- 17. माणिक
- 18. माणिक
- 19. माणिक
- 20. माणिक 1.8
- 21. माणिक - जमे हुए स्ट्रिंग (लेखन त्रुटि)
- 22. regexp स्ट्रिंग 1 से पहले जब तक स्ट्रिंग 2
- 23. Regexp: अनुक्रम
- 24. रूबी regexp
- 25. Regexp पर्ल
- 26. विभाजन regexp
- 27. Regexp
- 28. माणिक: चूक
- 29. हैकेल regexp
- 30. माणिक चार
तुम भी के लिए \ डी इस्तेमाल कर सकते हैं [^ \ d] ...> "में प्रकाशित किया 123 ipsum 456 879" .gsub (/ \ डी /, '') => "123,456,879" – oylenshpeegul