Я написал длинный пост, чтобы дать много информации о моей проблеме. Суть в том, что я хотел бы создать конкретный макет в моем макросе «найти и заменить», чтобы его можно было легко скопировать в 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&#178;</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&#178;</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&#178;</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)?

1 ответ1

0

Ваш вклад:

HITOPPERVLAKTE: 135
HITPRICE: € 9.950
HITOPPERVLAKTE: 528
HITPRICE: € 1.560
HITOPPERVLAKTE: 106
HITPRICE: € 1.250 

Найти / Заменить:

  • Найдите что: \r\nHITPRICE
  • Заменить на: \tHITPRICE
  • Режим поиска: расширенный

Результат:

HITOPPERVLAKTE: 135 HITPRICE: € 9.950
HITOPPERVLAKTE: 528 HITPRICE: € 1.560
HITOPPERVLAKTE: 106 HITPRICE: € 1.250 

И если вы хотите разделить числа в свои столбцы,

  • Найдите что :•
    ( представляет пространство здесь)
  • Заменить на: \t
  • Режим поиска: расширенный

Затем вы можете использовать « Текст в столбцы» в меню « Данные Excel» для создания чисел из этих столбцов, чтобы вы могли создавать для них вычисления, например, € / м².

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .