Я имею дело с файлом экспорта, который содержит поле примечания в экспортированном CSV-файле. Экспортируемые заметки выглядят так.Ruby .split (различные разделители) содержат разделители в матрице совпадений
«AC) Dianne - # или код, набранный неверно. AC) dianne - # или код, набранный неверно. WDB) Dianne - Wrong Number. AC) Dianne - # или код, набранный неверно."
В этом поле у нас есть пользователь, который оставил записку и собственно записку.
Разделители в файлах «AC)» или «WDB)»
мне нужно написать это как:
AC) Dianne - # or code dialed is incorrect.
AC) dianne - # or code dialed is incorrect.
WDB) Dianne - Wrong Number.
AC) Dianne - # or code dialed is incorrect.
Используя регулярные выражения и функции рубиновый .split я могу выход текст, следующий за разделителем, но я теряю пользователя, который записал заметки.
Рубин
notes.split(/AC\)|WDB\)/).each do |n|
puts n
end
Выход
Dianne - # or code dialed is incorrect.
dianne - # or code dialed is incorrect.
Dianne - Wrong Number.
Dianne - # or code dialed is incorrect.
В коде выше я понятия не имею, кто пользователь (AC, WDB), который оставил отдельную ноту.
Я не уверен, что мне нужно переключиться на .scan, изменить регулярное выражение (т. Е. Включить lookbehind) и т. Д. Кто-нибудь знает, как я могу захватить пользователя и текст, чтобы они выглядели так ?
Выходной
AC) Dianne - # or code dialed is incorrect.
AC) dianne - # or code dialed is incorrect.
WDB) Dianne - Wrong Number.
AC) Dianne - # or code dialed is incorrect.
Это сделал трюк для меня. – helloJello
Добро пожаловать :-) –