Два значения 0x0A
являются шестнадцатеричным представлением перевода строки.Обычные переводы строки ASCII, AKA "\n\n"
в строке.
Итак, t = t.gsub(/\n/, "<br/>")
должно работать.
t = "foo\u000d\u0009\u000c\u0085\u2028\u2029\nbar"
p t
t = t.gsub(/\u000d|\u0009|\u000c|\u0085|\u2028|\u2029|\n/,"<br/>")
puts t
Список символов OR'd можно заменить на:
t = t.gsub(/[\u000d\u0009\u000c\u0085\u2028\u2029\n]/,"<br/>")
В любом случае выходные данные будут выглядеть следующим образом:
"foo\r\t\f\u2028\u2029\nbar"
foo<br/><br/><br/><br/><br/><br/><br/>bar
Причина, по которой ваш
t = t.gsub(/0A\0A/u,"<br/>")
не работает, состоит в том, что регулярное выражение неверно.
t = t.gsub(/\x0A/,"<br/>")
- альтернативный способ определения:
t = t.gsub(/\n/,"<br/>")