Как разделить строку из целого числа в python? - PullRequest
0 голосов
/ 03 марта 2020

Мой ввод должен быть, например, имя, фамилия, название улицы 22b, 10000 Загреб

, и он должен выводиться так:

name and surname: name surname
Street: street name
street number: 22
house number: b
postal code: 100000
place: zagreb

и это мой код

whole_string =input("Person: ")
string_list = whole_string.split(", ")
split_street_and_street_number = string_list[1].split(" ")
postal_code_and_city = string_list[2].split(" ")

print(f"name and surname: {string_list[0]}")
print(f"street: {split_street_and_street_number[0]}")
print(f"street number: {split_street_and_street_number[1]}")
print(f"postal code: {postal_code_and_city[0]}")
print(f"city: {postal_code_and_city[1]}")

Ответы [ 2 ]

1 голос
/ 03 марта 2020

Пожалуйста, проверьте это.

import re

text = '22b'
street_number =" ".join(re.findall("[0-9]+", text))
house_number =" ".join(re.findall("[a-zA-Z]+", text))

print(street_number)
print(house_number)
1 голос
/ 03 марта 2020

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

def find_index_of_first_letter(text):
    for index, value in enumerate(text):
        try:
            int(value)
        except ValueError:
            return index
    print('No letter in the text')

text = '22b'
first_letter = find_index_of_first_letter(text)
number, letters = text[:first_letter], text[first_letter:]

...