gsub 具有字符串中不同字符的子字符串

gsub a substring with varying characters from a string

我正在寻找一种方法来从字符串中删除一组不同的数字。

我有多个图像具有 style="" 标签,我想在为 API 渲染时删除这些标签。

< img src="https://IMAGE.jpg" 风格="width: 1398px;" data-status="ok">

< img src="https://IMAGE.jpg" 风格="width: 1393px;" data-status="ok">

< img src="https://IMAGE.jpg" 风格="width: 1385px;" data-status="ok">

我想删除 style="" 标签,我正在寻找 gsub 或 regex 方法来执行此操作。

沿线的东西。

.gsub('style="width: ****px;"', '')

其中 **** 是任何数字 0..9 的每个数字的解决方案?

尽管您可能不想使用正则表达式来执行此操作,但 hack 方法是:

gsub(/style="width:\s*\d+px;?"\s*/, '')

这里的键是\d+,意思是一个或多个数字

更好的方法是使用像 Nokogiri 这样的 HTML 解析器来删除属性:

doc = Nokogiri::HTML(source)
doc.css('img').each do |img|
  img.remove_attr('style')
end
doc.to_s

还有stripping all style tags的方法。