Карты Google Результаты часто отображаются таким образом:Как Python разделить персонажа, но сохранить этот символ?
'\n113 W 5th St\nEureka, MO, United States\n(636) 938-9310\n'
Другой вариант:
'Clayton Village Shopping Center, 14856 Clayton Rd\nChesterfield, MO, United States\n(636) 227-2844'
И еще:
'Wildwood, MO\nUnited States\n(636) 458-7707'
Обратите внимание на изменение в размещении \n
символов.
Я ищу, чтобы извлечь первые X строк в качестве адреса, а последняя строка - номер телефона. Регулярное выражение, такое как (.*\n.*)\n(.*)
, было бы достаточным для первого примера, но не подходит для двух других. Единственное, на что я могу положиться, это то, что номер телефона будет в форме (ddd) ddd-dddd
.
Я думаю, что регулярное выражение, которое позволит каждому из возможных вариантов, будет трудно найти. Можно ли использовать split()
, но сохранить характер, который мы разделили? Итак, в этом примере разделите на "("
, чтобы разделить адрес и номер телефона, но сохранить этот символ по номеру? Я мог бы объединить "("
назад в split("(")[1]
, но есть ли более аккуратный способ?
более простой способ: читать строки построчно , Когда строка не соответствует номеру телефона, сохраните ее в своей переменной адреса (список), когда шаблон соответствует сохранению результата в вашей телефонной переменной и присоединитесь к списку адресов с помощью '\ n', чтобы получить строку. –
Вы хотите сделать это только с адресами США? –