string — Поиск количества символов между двумя словами в тексте на Python
Как найти ближайшее расстояние между двумя словами в тексте или в большой коллекции текстовых файлов.
Например, я хочу найти ближайшее расстояние между двумя словами, такими как «is» и «are» в тексте. Вот что у меня есть:
 text = "есть ли способ найти ближайшее расстояние двух слов - like is и are - друг от друга."
def dis_words_text (текст, слово1, слово2):
    импортировать numpy как np
    ind1 = текст. найти (слово1)
    ind2 = текст. найти (слово2)
    dis = "хотя бы одно из слов не в тексте" if -1 in (ind1,ind2) else np.abs(ind1-ind2)
    возврат (дис)
dis_words_text (текст, «есть», «есть»)
Выход: 25
dis_words_text (текст, «почему», «есть»)
Вывод: "хотя бы одно из слов не в тексте"
  Похоже, приведенный выше код учитывает расстояние между первыми «есть» и «есть», а не ближайшее расстояние, которое должно составлять 7 символов. См. также Поиск позиции слова в строке и Как найти индекс точного слова в строке в Python в качестве ссылок.
- python
- строка
- поиск
- текст
- расстояние
5
Вот решение для поиска ближайшего расстояния между двумя словами в тексте на основе количества символов:
 def Nearest_Values_twolist(list1,list2):
    г1 = список1[0]
    г2 = список2[0]
    мин_значение = 1000000
    для строки1 в списке1:
        для строки2 в списке2:
            т = абс (строка1 - строка2)
            если t   Test:
 text = "есть ли способ найти ближайшее расстояние между двумя словами - like is и are - друг от друга. "
самое близкое_расстояние_слов (текст, w1, w2)
 "
самое близкое_расстояние_слов (текст, w1, w2)
 
 Выход: 7
 Зарегистрируйтесь или войдите в систему 
   Зарегистрируйтесь с помощью Google Зарегистрироваться через Facebook
 Зарегистрируйтесь, используя адрес электронной почты и пароль
 Опубликовать как гость 
 Электронная почта
 Требуется, но не отображается
 Опубликовать как гость 
 Электронная почта
 Требуется, но не отображается
   Python — получить количество символов, слов, пробелов и строк в файле 
 Улучшить статью
 Сохранить статью
-  Уровень сложности:
Easy
-  Последнее обновление:
08 сент, 2022
 Прочитать  Обсудить  Улучшить статью
 Сохранить статью
  Предварительное условие:  Обработка файлов в Python
 Для заданного текстового файла  fname  задача состоит в том, чтобы подсчитать общее количество символов, слов, пробелов и строк в файле.
   Как мы знаем, Python предоставляет множество встроенных функций и модулей для работы с файлами. Давайте обсудим различные способы подсчета общего количества символов, слов, пробелов и строк в файле с помощью Python. Получить количество символов, слов, пробелов и строк в файле
 Наивный подход к получению количества символов, слов, пробелов и строк в файле  В этом подходе идея состоит в том, чтобы решить задачу путем разработки наша собственная логика. Без использования какой-либо встроенной функции Python будет подсчитано общее количество символов, слов, пробелов и строк файла. Ниже приведена реализация описанного выше подхода.
 Питон3 
  
  def   counter(fname): 
  
       
         num_words   =   0 
       
           
         num_lines   =   0 
  
  
    NUM_CHARC   =   0 
         
       
         num_spaces   =   0 
       
           
       
       
         with   open   ( fname,   'r'   ) as f: 
             
          
           
             for   line   in   f: 
                                  
               
               
               
                 num_lines   +   =   1 
                 
               
               
                 
               
               
                 word   =   'Y' 
                 
               
               
                 for   письмо   в   строка: 
                       
                   
                   
                   
                     if   (letter !   =   ' '   and   word   =   =   'Y'   ): 
                        
                                        0103
                           num_words   +   =   1 
                         
                       
                       
                       
                       
                         word   =   'N ' 
                                              
                   
                   
                     elif   (letter   =   =   ' '   ): 
                         
                       
                       
                          num_spaces   +   =   1                          
                       
                       
                       
                       
                         word   =   'Y' 
                         
                   
                  
                   
                     for   i   in   letter: 
                         
                       
                       
                       
                       
                         if   (я !   =   ""   и   i !   =   "\n"   ): 
                             
                           
                           
                             num_charc   +   =   1 
                             
       
         печать   (   "Number of words in text file: "   , 
               num_words) 
         
       
         print   (   "Number of lines in Файл текста: « , 
    num_lines) 
  
  
   . 0103
 0103  (   'Number of characters in text file: '   , 
               num_charc) 
         
       
         print   (   'Number of spaces in Текстовый файл: ' , 
    NUM_SPACES) 
  
  IF   __NAME__   =    __ NAME__   =    __MAME__   = 0102 =   '__main__'   : 
         fname   =   'File1. txt'
 txt' 
         try   : 
             counter(fname) 
         except   : 
             print   (   'File not found'   ) 
  Output: 
 Количество слов в текстовом файле: 25
Количество строк в текстовом файле: 4
Количество символов в текстовом файле: 91
Количество пробелов в текстовом файле: 21 
 Использование некоторых встроенных функций и функций модуля ОС  В этом подходе идея состоит в том, чтобы использовать метод os.linesep() модуля ОС для разделения строк в текущем Платформа. Когда сканер интерпретатора встречает os.linesep, он заменяет его символом \n. После этого для выполнения задачи будут использоваться функции strip() и split(). Получите больше информации о функциях strip() и split(). Ниже приведена реализация описанного выше подхода.
 После этого для выполнения задачи будут использоваться функции strip() и split(). Получите больше информации о функциях strip() и split(). Ниже приведена реализация описанного выше подхода.
 Python3 
  
  import   os 
  
  def   counter(fname): 
         
       
         num_words   =   0 
  
  
    num_lines   =   0 
  =   0 
 . 0102
 0102        
       
         num_charc   =   0 
         
       
         num_spaces   =   0 
         
       
       
       
         с   открыть   (fname,   'r'   ) as f: 
             
           
           
             for   line   in   f: 
                 
               
  
  
  
    Линия   =   line. strip(os.linesep)
 strip(os.linesep) 
                 
               
               
               
               
               
               
                 wordslist   =   line.split() 
                 
               
               
               
               
                 num_lines   =   num_lines   +   1 
                 
               
               
               
               
                 num_words   =   num_words   +   len   (wordslist) 
                 
               
               
               
               
                 num_charc   =   num_charc   +   сумма   (   1   для   c   in   line 
                             if   c   not   in   (os. linesep,
 linesep,   ' '   )) 
                 
               
  
  
  
    num_spaces   =   num_spaces   +   sum   (   1   for   s   in   line 
                                     if   s   in   (os.linesep,   ' ' )) 
  
  
    Печать   (  "Количество в текстовом файле:"   (  ". 0102 ,
 0102 , 
               num_words) 
         
       
         print   (   "Number of lines in text file: "   , 
               num_lines) 
         
       
         печать   (   символов в текстовом файле0103  , 
               num_charc) 
         
       
         print   (   "Number of spaces in text file: "   , 
               num_spaces ) 
  IF   __NAME__   =   =   '__main__'  : 
   : 
  03  fname   =   'File1. 
 
  
 
 
  "
самое близкое_расстояние_слов (текст, w1, w2)
 "
самое близкое_расстояние_слов (текст, w1, w2)
 
 0103
 0103  txt'
 txt'  После этого для выполнения задачи будут использоваться функции strip() и split(). Получите больше информации о функциях strip() и split(). Ниже приведена реализация описанного выше подхода.
 После этого для выполнения задачи будут использоваться функции strip() и split(). Получите больше информации о функциях strip() и split(). Ниже приведена реализация описанного выше подхода. 0102
 0102       strip(os.linesep)
 strip(os.linesep)  linesep,
 linesep,  0102 ,
 0102 , 