Похоже, что это последовательности CSI (https://en.wikipedia.org/wiki/ANSI_escape_code#CSI_sequences)
Вы можете удалить их следующим образом:
REGEXP = /\e\[[^\x40-\x7E]*[\x40-\x7E]/
input = ["\e[mstring1", "\e[2Kstring2", "string3", "\e[2Kstrin4"]
def remove_csi(line)
line.gsub(REGEXP, "")
end
output = input.map do |line|
remove_csi(line)
end
p input
p output
# => ["\e[mstring1", "\e[2Kstring2", "string3", "\e[2Kstrin4"]
# => ["string1", "string2", "string3", "strin4"]
Регулярное выражение - это упрощенная версия, которая соответствует началу строки вверхдо "последнего байта" в последовательности.