Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Nokogiri选择的文本太多_Ruby On Rails_Ruby_Regex_Nokogiri - Fatal编程技术网

Ruby on rails Nokogiri选择的文本太多

Ruby on rails Nokogiri选择的文本太多,ruby-on-rails,ruby,regex,nokogiri,Ruby On Rails,Ruby,Regex,Nokogiri,使用Nokogiri和Ruby,我试图使用CSS选择器解析出一个街道地址。但是,它也包括我不想要的城市 以下是我使用的声明: address = listing.at_css(".address").text 以下是HTML: <div class="address"> 117/1 Main St , <span class="green"> <strong> <u> <a href="city">Chica

使用Nokogiri和Ruby,我试图使用CSS选择器解析出一个街道地址。但是,它也包括我不想要的城市

以下是我使用的声明:

address = listing.at_css(".address").text
以下是HTML:

<div class="address">
  117/1 Main St ,
  <span class="green">
  <strong>
   <u>
    <a href="city">Chicago</a>
   </u>
  </strong>
  </span>
但我得到的结果是:

117/1 Main St , Chicago \n

我曾考虑将正则表达式与Nokogiri结合使用,但我不确定Ruby是否能在
“,”
之后删除所有内容,包括返回以删除
”,“
这将返回
117/1 Main St,
(带空格和逗号):

这将返回
117/1 Main St
(删除空格和逗号):


很近,但仍然不起作用。当我尝试“hello,”.sub(/,$/,“”)时,我没有得到任何变化。如果我不使用美元符号,它会将其转换为“hello”,这仍然有一个额外的空格。您必须在逗号后面添加另一个空格:
/,$/
,或者更好:
.sub(/[,]+$/,“”)
(删除所有尾随空格和/或逗号)。
117/1 Main St , Chicago \n
listing.at_css(".address").child.text
listing.at_css(".address").child.text.sub(/ ,$/,"")