Удалить подстроку между определенными символами - PullRequest
0 голосов
/ 14 мая 2018

Мне было интересно, есть ли способ удалить все между двумя морковками из строки:

"<@000000> I thought you said this would happen?"

, чтобы получить:

"I thought you said this would happen?"

Я думал, что с помощью глобальной замены будет работать.Я попытался с этим кодом:

somefile = File.open("Test_Teleó.txt", "a+")
  jdoc.fetch("messages").each do |body|
    ts = body["ts"].to_i
    somefile.puts body["text"].gsub(/[<]/, '').gsub(/[>]/, '').chomp
  end

И вывод:

@000000 I thought you said this would happen?

Он удалял только морковь, а не символы между ними.

Любой совет?

1 Ответ

0 голосов
/ 14 мая 2018

Требуется лишь небольшая корректировка вашего кода:

File.open("Test_Teleó.txt", "a+") do |somefile|
  jdoc.fetch("messages").each do |body|
    ts = body["ts"].to_i
    somefile.puts body["text"].gsub(/<[^>]*>/, '').chomp 
  end
end

Я также использовал здесь стиль блока open, поскольку он автоматически закроет файл после завершения блока. Это помогает избежать случайного забытия и оставления файлов открытыми.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...