niccolo
Silver Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Цитата: Спасибо за помощь, попробовал, регулярка переносит всё что есть из строки где Email в создаваемый третий столбец, а как указать чтоб только адрес Email переносился? В файле csv разделитель "|" , в строке все Email адреса отделены пробелом. | csv - стандартно «COMMA separated». Отклонения надо указывать ^([^\|]+)\|([^\@]+)@(.*)$ \1\|\|\2@\3 или как вариант - в старом файле позаменять "|" на запятую В принципе лучше разобрать, чтобы дальше сами ковырялись ^([^\|]+)\|([^\@]+)@(.*)$ первый ^ означает искать с начала строки ([^\|]+) — означает искать все символы, кроме "|" (^\| - отбиваем его слэшем, т.к. это спецсимвол, ^ с группами символов в квадратных скобках означает НЕ, КРОМЕ), в количестве 1 и больше (+ означает 1 и больше) дальше д.б. разделитель - отбиваем его слешем. Дальше должен быть email вида XXX@XXX до конца строки. Вот и записываем его регвыром ([^\@]+) — любые знаки, кроме @ в количестве 1 и больше @ - признак e-mail (.*)$ — всё что после @ до конца строки. (. - любой символ, * - в количестве от 0 и больше) \1\|\|\2@\3 \1(\2, \3) - то что в первых (2,3) круглых скобках чтобы email ушёл в 3-й столбец, после 1 разделителя нужно добавить ещё один \|\| |