您可以使用Regexp.union
:
regex = Regexp.union(
/^Header_1/,
/^Header_2/,
/^Header_3/,
/^Header_4/,
/^:$/
)
variable.gsub(regex, '')
請注意,^something$
將不會包含的東西超過something
:)
原因^
是匹配字符串的開頭和$
是字符串的結尾字符串的工作。
所以我故意刪除$
。
當你只需要刪除匹配的字符串時,你也不需要括號。
您也可以使用這樣的:
headers = %w[Header_1 Header_2 Header_3]
regex = Regexp.union(*headers.map{|s| /^#{s}/}, /^\:$/, /etc/)
variable.gsub(regex, '')
當然,你可以刪除頁眉沒有明確的定義。
標題後最有可能有空白嗎?
如果是這樣,你可以做到這一點簡單:
variable = "Header_1 something else"
puts variable.gsub(/(^Header[^\s]*)?(.*)/, '\2')
#=> something else
variable = "Header_BLAH something else"
puts variable.gsub(/(^Header[^\s]*)?(.*)/, '\2')
#=> something else
啊!好戲! –
謝謝你,完美的工作! –