如何将变量传递到带嵌套引号的字符串-Ruby
我有一组团队名称:如何将变量传递到带嵌套引号的字符串-Ruby,ruby,Ruby,我有一组团队名称: teams = ["Atlanta Hawks","Boston Celtics","Brooklyn Nets"] 我想迭代团队数组,并将每个团队插入css选择器中的“title”: teams.each do |team_name| basketball_team_links << basketball_teams.css("a[class='lnkBeatWriterLeague'][title=#{team_name}]").map { |lin
teams = ["Atlanta Hawks","Boston Celtics","Brooklyn Nets"]
我想迭代团队数组,并将每个团队插入css选择器中的“title”:
teams.each do |team_name|
basketball_team_links << basketball_teams.css("a[class='lnkBeatWriterLeague'][title=#{team_name}]").map { |link| link['href'] }
end
teams.each do| team|u name|
篮球队链接您是否尝试过:
"a[class='lnkBeatWriterLeague'][title='#{team_name}']"
或:
或:
或:
编辑:
根据@Amadan在评论中的建议,添加一些应考虑的角落案例的注释
无论teams
字符串是否来自用户,其中都可能包含撇号和引号。
有两种简单的方法可以正确地避开它们:
require 'cgi'
CGI.escapeHTML "input string"
require 'json'
"input string".to_json
您是否尝试过:
"a[class='lnkBeatWriterLeague'][title='#{team_name}']"
或:
或:
或:
编辑:
根据@Amadan在评论中的建议,添加一些应考虑的角落案例的注释
无论teams
字符串是否来自用户,其中都可能包含撇号和引号。
有两种简单的方法可以正确地避开它们:
require 'cgi'
CGI.escapeHTML "input string"
require 'json'
"input string".to_json
谢谢你,我相信你知道……它们都起了作用。警告:它们在某些情况下都会崩溃:O'Reilly的团队
,Sadist\“User
,Jackie“slagger”Jameson
。使用CGI.escapeHTML
逃离你的团队名
,使用Team\\u名。到json
也可以获得报价(分别要求cgi
和json
),或者只要求gsub
提交您的字符串以确保安全。“Psh,我的字符串中永远不会有撇号”几乎每次都会咬到您。(当然,您应该选择内部引号来匹配您使用的转义方法)谢谢你,我相信你知道……它们都起了作用。警告:在某些情况下,它们都会崩溃:O'Reilly的团队
,Sadist\“用户”
,Jackie“Slugger”Jameson
。使用CGI.escapeHTML
转义您的team\u name
,使用team\u name.to\u json
也可以获取引号(分别需要CGI
和json
),或者只需gsub
将字符串提交以确保安全。“嘘,我的绳子上永远不会有撇号”几乎每次都会咬你(当然,您应该选择内部引号以匹配所使用的转义方法)
require 'cgi'
CGI.escapeHTML "input string"
require 'json'
"input string".to_json