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的方法。
我正在寻找一种方法来从字符串中删除一组不同的数字。
我有多个图像具有 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的方法。