Отредактировано: Это работает
require 'cgi'
str = "a=2&b=3.05&c=testing"
out = {}
def typecasted(str)
[str.to_i, str.to_f, str].find { |cast| cast.to_s == str }
end
CGI::parse(str).each do |key, val|
out[key] = typecasted val.first
end
p out
# => {"a"=>2, "b"=>3.05, "c"=>"testing"}
После вашего комментария ниже, который пояснил, что вы пытаетесь сделать, я думаю, вы найдете это проще, чем ваше решение.
Существует также расширение vscode-dup-checker , которое найдет и удалит повторяющиеся строки. Я не знаю, действительно ли вы хотите удалить дубликаты.
Я добавил gif, чтобы показать его в действии - он использует только шаги 1-4 выше:
Хорошо, я нашел один метод, который работает. Хотя я не знаю, лучше ли это.
После Ctrl+Shift+L
у вас есть курсоры на всех строках с этой фразой. Затем нажатие Home
приведет вас к началу всех из них, а затем Shift+End
выделит все те строки, на которых у вас есть курсор. Затем обрежьте текст и вставьте его в любое место. Это оказалось очень полезным для меня, когда я редактировал HTML-файл с 700 ссылками.