Я написал длинный пост, чтобы дать много информации о моей проблеме. Суть в том, что я хотел бы создать конкретный макет в моем макросе «найти и заменить», чтобы его можно было легко скопировать в Excel. Я почти там, но мне нужна помощь, чтобы покрыть последний удар.
Фон
Я искал снять дом. Для этого я хотел знать, какую цену обычно спрашивают за м2. Я перешел на большой веб-сайт, посвященный строительству жилья, и вручную сопоставил цену и м2 каждого объекта недвижимости, чтобы рассчитать общую цену / м2, чтобы иметь представление о ценах в разных районах города.
При этом я подумал, смогу ли я автоматизировать этот процесс в безопасное время. Поэтому я начал серфить в интернете, потому что никогда не делал ничего подобного. Тем временем я многому научился, и к настоящему времени автоматизация этой задачи стоила мне гораздо больше времени, чем собственно ручная работа, ахаха, но я не могу сейчас сдаться ...! Я так близок!
Источник
Прежде всего, я беру исходный код веб-сайта добавления жилья. В следующем фрагменте вы увидите несколько значений:
- € 9,950 (это цена / месяц)
528 м & # 178- (это общая площадь объекта недвижимости, в данном случае 528)
</div><div class="search-result-info search-result-info-price"> <span class="search-result-price">€ 9.950 /mnd</span> <span class="search-result-info-small">Geen kosten huurder</span> </div> <div class="search-result-info"> <ul class="search-result-kenmerken "> <li><span title="Woonoppervlakte">528 m²</span> </li> <li>6 kamers</li> <li>In overleg</li>
ТЕКУЩАЯ ПРОЦЕДУРА
Я копирую весь исходный код в Notepad++ и выполняю две команды Find и Replace. Сначала по цене, затем по поверхности (FYI: поверхность на голландском языке пишется как oppervlakte)
FIND1
<span class="search-result-price">(.*?)/mnd</span>
Replace1
\r\nHITPRICE: $1
Find2
<span title="Woonoppervlakte">(.*?)m²</span>
Replace2
\r\nHITOPPERVLAKTE: $1
Большой! Сейчас я делаю команду поиска и пометки для значений HITPRICE и HITOPPERVLAKTE. Затем нажмите «Поиск»> «Закладка»> «Удалить все неотмеченные строки». Результатом является хороший список всех цен и поверхностей, которые я могу затем скопировать, чтобы превзойти.
HITOPPERVLAKTE: 135
HITPRICE: € 9.950
HITOPPERVLAKTE: 528
HITPRICE: € 1.560
HITOPPERVLAKTE: 106
HITPRICE: € 1.250
Тем не менее, список показывает цену и поверхность на разных линиях каждый раз. Я могу работать с ним, но я бы предпочел следующий формат, в котором комбинируются как поверхность, так и цена:
HITOPPERVLAKTEPRICE: 106 € 1.250
HITOPPERVLAKTEPRICE: 528 € 1.560
HITOPPERVLAKTEPRICE: 135 € 9.950
Просто потому, что при копировании в excel таким образом поверхности и цены будут сразу показываться в разных столбцах.
ПРОЦЕДУРА НОМЕР 2
Итак, вот что я придумал до сих пор; единственная команда поиска и замены:
найти
(<span title="Woonoppervlakte">(.*?) m²</span>)|(<span class="search-result-price">(.*?)/mnd</span>)
замещать
(\r\nHITOPPERVLAKTEPRIJS: $2\t$4)
Это дает мне следующий результат:
HITOPPERVLAKTEPRIJS: € 2.200
HITOPPERVLAKTEPRIJS: 135
HITOPPERVLAKTEPRIJS: € 9.950
HITOPPERVLAKTEPRIJS: 528
HITOPPERVLAKTEPRIJS: € 1.560
HITOPPERVLAKTEPRIJS: 106
HITOPPERVLAKTEPRIJS: € 1.250
Так что я почти у цели, но отделение разделяет поверхности и цены по разным линиям. Это легко решается в Excel (просто переместите все поверхности вверх на один ряд), но мне интересно, можно ли привести в порядок этот последний аспект моего процесса миниатюрной автоматизации :-)
ВОПРОС
Как изменить мою команду «найти и заменить», чтобы создать выходной макет, в котором как поверхность, так и цена объединены в одной строке и разделены вкладкой (поэтому они приводят к появлению разных столбцов после копирования в Excel)?