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

Тема: Как найти количество строк в строке python?

  1. Как найти количество строк в строке python?

    Привет, народ! Столкнулся с задачей - нужно выяснить, как найти количество строк в строке python. У меня большая строка с кучей символов перевода строки, и мне надо узнать точное количество этих строк. Понятное дело, что можно через str.split('\
    '), но это не комильфо. Может, есть более красивый и эффективный способ? Поделитесь, плиз, кто чем пользуется, плюсы и минусы каждого метода тоже интересны. Получилось вдруг там подводные камни какие, хочу понять все нюансы. Спасибо заранее!



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

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

  3. Привет! Самый простой способ подсчитать количество строк в строке - это использовать метод splitlines(). Он разбивает строку на части, используя символы перевода строки. Пример кода:

    Программный код:
    text '''Первая строка
    Вторая строка
    Третья строка'''
    lines text.splitlines()
    print(
    len(lines)) 
    Если приводить пример, то он вернёт 3, потому что в тексте три строки. Метод splitlines() кстати учитывает все виды символов перевода строки, так что проблем не будет.

  4. Цитата Сообщение от arushanov
    Привет! Самый простой способ подсчитать количество строк в строке - это использовать метод splitlines(). Он разбивает строку на части, используя символы перевода строки. Пример кода:

    Программный код:
    text '''Первая строка
    Вторая строка
    Третья строка'''
    lines text.splitlines()
    print(
    len(lines)) 
    Если приводить пример, то он вернёт 3, потому что в тексте три строки. Метод splitlines() кстати учитывает все виды символов перевода строки, так что проблем не будет.
    О, splitlines() огонь, сам юзаю! Его фича в том, что не только '\
    ', но и '\\r\
    ' и другие символы распознаёт. Прога на любых платформах кросс позволяет.

  5. Есть ещё вариант через count() метод. Он правда не такой гибкий, как splitlines(), но иногда юзаешь, когда знаешь точно, что только '\
    ' к примеру. Вот пример:

    Программный код:
    text 'Первая строка
    Вторая строка
    Третья строка'
    num_lines text.count('\
    '
    ) + 1
    print(num_lines
    Если чисто по строкам с '\
    ', то считаем все '\
    ' и добавляем 1.

  6. Цитата Сообщение от LeoForest
    Есть ещё вариант через count() метод. Он правда не такой гибкий, как splitlines(), но иногда юзаешь, когда знаешь точно, что только '\
    ' к примеру. Вот пример:

    Программный код:
    text 'Первая строка
    Вторая строка
    Третья строка'
    num_lines text.count('\
    '
    ) + 1
    print(num_lines
    Если чисто по строкам с '\
    ', то считаем все '\
    ' и добавляем 1.
    Да, count() тоже рабочий метод, но с ним осторожнее - если разные символы перевода строки, то можно промахнуться.

  7. Ещё идейка: регулярки рулят! Вот регулярка через findall():

    Программный код:
    import re
    text 
    'Первая строка
    Вторая строка
    Третья строка'
    lines re.findall('.*?(\
    |$)'
    text)
    if 
    lines[-1] == '':
        
    lines.pop()
    print(
    len(lines)) 
    Регулярки дают больше возможностей, но сложность возрастает, так что смотри сам.

  8. Цитата Сообщение от Эльмира
    Ещё идейка: регулярки рулят! Вот регулярка через findall():

    Программный код:
    import re
    text 
    'Первая строка
    Вторая строка
    Третья строка'
    lines re.findall('.*?(\
    |$)'
    text)
    if 
    lines[-1] == '':
        
    lines.pop()
    print(
    len(lines)) 
    Регулярки дают больше возможностей, но сложность возрастает, так что смотри сам.
    Регулярки - это сила, но мозг можно сломать. Хотя, если задача замудрёная, то без них никуда.

  9. Юзать CSV-модуль для задачки как у тебя, это перебор, но всё же:

    Программный код:
    import csv
    from io import StringIO
      
    text 
    StringIO('Первая строка
    Вторая строка
    Третья строка'
    )
    reader csv.reader(textdelimiter='\
    '
    )
      
    print(
    sum(for row in reader)) 
    Это костыль, но иногда такие пробросы могут помочь, когда нужен более мощный инструмент.

  10. Цитата Сообщение от PharaohGuard
    Юзать CSV-модуль для задачки как у тебя, это перебор, но всё же:

    Программный код:
    import csv
    from io import StringIO
      
    text 
    StringIO('Первая строка
    Вторая строка
    Третья строка'
    )
    reader csv.reader(textdelimiter='\
    '
    )
      
    print(
    sum(for row in reader)) 
    Это костыль, но иногда такие пробросы могут помочь, когда нужен более мощный инструмент.
    Хм, CSV - это неожиданно. Ну хоть ради фана попробовать можно, глянуть как выйдет.

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