从字符串中删除前4个字符

时间:2015-04-16 21:41:34

标签: sql ruby

通过一堆if语句,我将一个字符串连接起来用作SQL语句。这个字符串的前3个字符总是" OR"。如何有效删除前4个字符。

example:
      sql = " OR tennis = TRUE OR basetball = TRUE"
      if condition sql = sql + " OR racquetball = TRUE"

所以我需要删除" OR"在任何字符串的开头创建了2个空格。

感谢您的时间

1 个答案:

答案 0 :(得分:8)

最终只是将事情加在一起会更好:

sql = [ ]

sql << 'tennis = TRUE'
sql << 'baseball = TRUE'

if (condition)
  sql << 'racquetball = TRUE'
end

sql = sql.join(' OR ')

您还可以通过重新映射来减少冗余:

sports = [ :tennis, :baseball ]

sql = sports.collect { |s| "#{s} = TRUE" }.join(' OR ')

如果您打算修剪前四个字母:

sql = " OR x OR y"
sql.slice!(" OR ")
sql
# => "x OR y"