Regex - Найти первое число символов перед определенным символом (например, функция LEFT в Excel) - PullRequest
0 голосов
/ 13 марта 2012

Я пытаюсь найти способ найти / заменить адреса электронной почты в файле .csv (один столбец) с первыми 10 символами перед символом @. Пример CSV-файла:

PrimarySmtpAddress
userA@domain.com
UserB@domain.com
UserAlongername@domain.com
UserBlongername@domain.com

Мой желаемый результат будет:

PrimarySmtpAddress
UserA
UserB
UserAlonge
UserBlonge

Я до сих пор нашел, как просто избавиться от @ и всего, что следует, выполнив:

найти: (.*)@.* заменить: \1

Я надеюсь, что смогу добавить что-то после \1, которое указывает замену только на первые 10 символов того, что содержится в \1.

Есть идеи у кого-нибудь?

1 Ответ

0 голосов
/ 13 марта 2012

Попробуйте сделать регулярное выражение (.{1,10})@.* и заменить его на \1. {1,10} означает «от одного до десяти» из ..

В зависимости от инструмента, который вы используете для замены, он может попытаться сопоставить всю строку - в этом случае вы можете использовать ^.*?(.{1,10})@.*$.

...