Remove   from Ruby String -


i try parse data , meet trouble clean   symbol. knew "space" realy got trouble clean string code:

require 'rubygems' require 'mechanize'  agent = mechanize.new page = agent.get('my_page.hmtl') price = page.search('#product_buy .price').text.to_s.gsub(/\s+/, "").gsub(" ","").gsub(" ", "") puts price 

and result got "4 162" - dat spaces. don't know do. please meet issue previously. thank you

html escape codes don't mean ruby's regex engine. looking " " literal characters, not thin space. instead, versions of ruby >= 1.8 support unicode in strings, meaning can use unicode code point corresponding thin space make substitution. unicode code point thin space 0x2009, meaning can reference in ruby string \u2009.

additionally, instead of calling some_string.gsub('some_string', ''), can call some_string.delete('some_string').

note isn't appropriate situations, because delete removes instances of characters appearing in intersection of arguments, while gsub remove segments matching pattern provided. example, 'hellohi'.gsub('hello', '') == "hi", while 'hellohi'.delete('hello') == 'i').

in specific case, i'd use like:

price = page.search('#product_buy .price').text.delete('\u2009\s') 

Comments

Popular posts from this blog

java - Could not locate OpenAL library -

c++ - Delete matches in OpenCV (Keypoints and descriptors) -

sorting - opencl Bitonic sort with 64 bits keys -