通过一堆if语句,我将一个字符串连接起来用作SQL语句.该字符串的前3个字符总是"OR".如何有效删除前4个字符.
example:
sql = " OR tennis = TRUE OR basetball = TRUE"
if condition sql = sql + " OR racquetball = TRUE"
Run Code Online (Sandbox Code Playgroud)
所以我需要在创建任何字符串的开头删除"OR"和2个空格.
感谢您的时间
最后将事情加在一起会更好:
sql = [ ]
sql << 'tennis = TRUE'
sql << 'baseball = TRUE'
if (condition)
sql << 'racquetball = TRUE'
end
sql = sql.join(' OR ')
Run Code Online (Sandbox Code Playgroud)
您还可以通过重新映射来减少冗余:
sports = [ :tennis, :baseball ]
sql = sports.collect { |s| "#{s} = TRUE" }.join(' OR ')
Run Code Online (Sandbox Code Playgroud)
如果您打算修剪前四个字母:
sql = " OR x OR y"
sql.slice!(" OR ")
sql
# => "x OR y"
Run Code Online (Sandbox Code Playgroud)