Требуется помощь: поиск строкового шаблона и замена его пустой строкой - PullRequest
0 голосов
/ 14 сентября 2009

Моя входная строка:

"->


Должность: Тестовый текст
JobId: 56565-116503

Город: Сан-Диего
Состояние: CA
Почтовый индекс: 92108


Описание: Мы набираем для Контролера, чтобы контролировать весь бухгалтерский учет и финансы для растущей производственной компании. Мы ищем кого-то, кто занимается бухгалтерским учетом полного цикла.


http://www.testurl.comhttp://test.xmlhttp://test.html-->"

Мне нужно извлечь следующую строку, используя C # / Регулярные выражения:

1. «Мы нанимаем Контролера для контроля за всем бухгалтерским учетом и финансами для растущей производственной компании. Мы ищем кого-то, кто занимается полным циклом учета»

Могу ли я получить помощь по коду?

Спасибо за чтение.

Ответы [ 5 ]

1 голос
/ 14 сентября 2009
string pattern = @"JobId:.*?City:.*?State:.*?Zip\sCode:\s\d+\s";
string result = Regex.Replace(input, pattern, "");

Результат: Старший бухгалтер - Растущая публичная компания Описание: Многогранная многонациональная корпорация ...

РЕДАКТИРОВАТЬ: комментарий на основе вашего редактирования.

Вышеуказанное регулярное выражение должно обрабатывать несколько элементов описания. Пример:

string input = "Senior Accountant - Growing Public Company JobId: 34441-345877 City: Santa Diego State: CA Zip Code: 93117 Description: 1st description here Description: Multi-faceted multi-national corporation...";

Результат замены: «Старший бухгалтер - растущая публичная компания» Описание: 1-е описание здесь Описание: Многогранная многонациональная корпорация ... »

0 голосов
/ 15 сентября 2009

ЕСЛИ все ваши описания отделяют адрес от описания с помощью «Описание:», тогда вы можете перейти к старой школе:

string separator = "Description:";
int startIndex = originalText.IndexOf(separator)+separator.Length;
string newText = originalText.Substring(startIndex);
0 голосов
/ 14 сентября 2009

Если все, что вам нужно, это извлечь значения поля Description, возможно, замена всего нежелательного содержимого пустыми строками - не лучшее решение.

Предполагая, что ваш вопрос можно перевернуть, чтобы задать вопрос: «Как извлечь значения поля Description?», Необходимое вам регулярное выражение может быть таким простым:

string pattern = @" Description: (.+)$";

Затем вы можете использовать цикл Regex.Match/NextMatch для извлечения всех описаний.

0 голосов
/ 14 сентября 2009

Обновлено регулярное выражение:

Regex.Replace(input, @"JobId:.*?City:.*?State:.*?Zip\s+Code:.*?(?=Description:)","");
0 голосов
/ 14 сентября 2009

Вы можете использовать что-то вроде этого:

 JobId: [^\s]+\sCity: .*?\sState: [A-Z]{2}\sZip Code: [^\s]+\sDescription:
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...