Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 12

Тема: Как найти индекс вхождения строки в строку python?"

  1. Как найти индекс вхождения строки в строку python?"

    Привет, коллеги! Пытаюсь разобраться с одной проблемкой. Как в Python найти индекс вхождения строки в строку? Например, у меня есть строка 'hello world' и я хочу найти, с какого индекса начинается подстрока 'world'. Какие есть способы это сделать? Буду рад любым советам и примерам кода. Спасибо заранее!"



  2. Ждём вас в нашем чате в Телеграмм ==>> @pythoneer_chat

    А ТАКЖЕ: Канал о Python, статьи и книги ==>>
    @pythoneer_ru

  3. Привет! В Python самый банальный и юзабельный способ - это воспользоваться методом .find(). Он возвращает индекс первого появления подстроки или -1, если не нашёл.
    Программный код:
    my_str 'hello world'
    sub_str 'world'
    index my_str.find(sub_str)
    print(
    index)  # 6 
    Если подстрока не найдена, вернётся -1. Ещё можно юзать метод .index(), но он кинет исключение, если не найдёт подстроку.

  4. Цитата Сообщение от Ольга Петровна
    Привет! В Python самый банальный и юзабельный способ - это воспользоваться методом .find(). Он возвращает индекс первого появления подстроки или -1, если не нашёл.
    Программный код:
    my_str 'hello world'
    sub_str 'world'
    index my_str.find(sub_str)
    print(
    index)  # 6 
    Если подстрока не найдена, вернётся -1. Ещё можно юзать метод .index(), но он кинет исключение, если не найдёт подстроку.
    О, а .find() точно возвращает -1 вместо исключения? Не знал, прикольно, удобнее ловить ошибки!

  5. Здоров, дружище! Есть ещё вариант через регулярные выражения (регэкспы). Муторно, но может пригодится.
    Программный код:
    import re
    my_str 
    'hello world'
    sub_str 'world'
    match re.search(sub_strmy_str)
    if 
    match:
        print(
    match.start())  # 6
    else:
        print(
    'Не нашёл!'
    И потруди память - регулярки это мастхэв, бро!

  6. Цитата Сообщение от nikov
    Здоров, дружище! Есть ещё вариант через регулярные выражения (регэкспы). Муторно, но может пригодится.
    Программный код:
    import re
    my_str 
    'hello world'
    sub_str 'world'
    match re.search(sub_strmy_str)
    if 
    match:
        print(
    match.start())  # 6
    else:
        print(
    'Не нашёл!'
    И потруди память - регулярки это мастхэв, бро!
    Надеюсь, там без регэкспов, а то всегда мозг кипит от этих выражений. Но пример норм, возможно поможет разрулить.

  7. Йо! Соня, по поводу индексов - могу подкинуть вариант покороче. Используем оператор in для проверки наличия подстроки и метод index() для получения индекса:
    Программный код:
    my_str 'hello world'
    sub_str 'world'
    if sub_str in my_str:
        
    index my_str.index(sub_str)
        print(
    index)  # 6
    else:
        print(
    'Не нашёл!'
    Минимум строчек, максимум пользы! Чистый пашет как надо.

  8. Цитата Сообщение от Irinka_m
    Йо! Соня, по поводу индексов - могу подкинуть вариант покороче. Используем оператор in для проверки наличия подстроки и метод index() для получения индекса:
    Программный код:
    my_str 'hello world'
    sub_str 'world'
    if sub_str in my_str:
        
    index my_str.index(sub_str)
        print(
    index)  # 6
    else:
        print(
    'Не нашёл!'
    Минимум строчек, максимум пользы! Чистый пашет как надо.
    Блин, как я сразу не подумал про вариант с in. Супер лаконично, респект!

  9. Если хочется совсем по-хитрому, можешь юзать слайсы и списковое выражение. Код может быть замороченым, но глянь:
    Программный код:
    my_str 'hello world'
    sub_str 'world'
    index next((for i in range(len(my_str)) if my_str[i:i+len(sub_str)] == sub_str), -1)
    print(
    index)  # 6 
    Если подстрока не найдена, схвачешь -1. А так прикольно, можно масштабировать под нужды!

  10. Цитата Сообщение от Ева
    Если хочется совсем по-хитрому, можешь юзать слайсы и списковое выражение. Код может быть замороченым, но глянь:
    Программный код:
    my_str 'hello world'
    sub_str 'world'
    index next((for i in range(len(my_str)) if my_str[i:i+len(sub_str)] == sub_str), -1)
    print(
    index)  # 6 
    Если подстрока не найдена, схвачешь -1. А так прикольно, можно масштабировать под нужды!
    Ух ты, это чё за черная магия с next и выражениями? Необычно, но вполне себе робочи. Надо будет попробовать, спс.

Страница 1 из 2 12 ПоследняяПоследняя