python число в строку

Python: Определение позиции подстроки (функции str.find и str.rfind)¶

Определение позиции подстроки в строке с помощью функций и .

Функция показывает первое вхождение подстроки. Все позиции возвращаются относительно начало строки.

Можно определить вхождение в срезе. первое число показывает начало среза, в котором производится поиск. Второе число — конец среза. В случае отсутствия вхождения подстроки выводится -1.

Функция осуществляет поиск с конца строки, но возвращает позицию подстроки относительно начала строки.

In[1]:str='ftp://dl.dropbox.com/u/7334460/Magick_py/py_magick.pdf'
In[2]:str.find('/')Out[2]:4In[3]:str[4]Out[3]:'/'
In[4]:str.find('/',8,18)Out[4]:-1In[5]:str[8:18]Out[5]:'.dropbox.c'In[6]:str.find('/',8,22)Out[6]:20In[7]:str[8:22]Out[7]:'.dropbox.com/u'In[8]:str[20]Out[8]:'/'
In[9]:str.rfind('/')Out[9]:40In[10]:str[40]Out[10]:'/'

Python: Извлекаем имя файла из URL¶

Понадобилось мне отрезать от URL всё, что находится после последнего слэша, т.е.названия файла. URL можеть быть какой угодно. Знаю, что задачу запросто можно решить с помощью специального модуля, но я хотел избежать этого. Есть, как минимум, два способа справиться с поставленным вопросом.

Способ №1¶

Достаточно простой способ. Разбиваем строку по слэшам с помощью функции , которая возвращает список. А затем из этого списка извлекаем последний элемент. Он и будет названием файла.

Повторим шаг с присвоением переменной:

In[1]:str='http://dl.dropbox.com/u/7334460/Magick_py/py_magick.pdf'In[2]:str.split('/')Out[2]:['http:','','dl.dropbox.com','u','7334460','Magick_py','py_magick.pdf']
In[3]:file_name=str.split('/')[-1]In[4]:file_nameOut[4]:'py_magick.pdf'

Способ №2¶

Второй способ интереснее. Сначала с помощью функции находим первое вхождение с конца искомой подстроки. Функция возвращает позицию подстроки относительно начала строки. А далее просто делаем срез.

Делаем срез:

In[5]:str='http://dl.dropbox.com/u/7334460/Magick_py/py_magick.pdf'In[6]:str.rfind('/')Out[6]:41
In[7]:file_name=str[42:]In[8]:file_nameOut[8]:'py_magick.pdf'
Sitemap Generator 0.5.2

11 июня 2018 г.

Обновленный программный продукт: библиотека для генерации sitemap сайта, написанный на python

Pynger 0.2

19 января 2018 г.

В данной версии добавлена поисковая система ask.com Я им никогда не пользовался, но не помешае…

Обработка строк в Python

Pynger 0.1

23 декабря 2017 г.

Сегодня состоялся релиз модуля pynger. Для установки модуля вводим команду:

Новый адрес старому блогу

18 сентября 2009 г.

Решил и сделал. Сегодня перевез блог на новый домен. Точнее домен уже старый, но на нем более пео…

Полное попадалово!

18 сентября 2009 г.

Безумно нравится мне этот ролик. Решил поделиться им с вами

Сеть ComScore Мертва

18 сентября 2009 г.

Wired в предсказывает, что Сеть ComScore скоро будет умрет. Думаею, что они могли бы только быть …

Как продвигать сайт статьями

18 сентября 2009 г.

У вас появился свой собственный сайт, и вы наслаждаетесь положением равноправного члена так назыв…

Блогу haikson.com 2 года

18 сентября 2009 г.

Довольно солидный возраст для блога! В связи с этим принято решение в течении недели принять окон…

Самая быстрая реализация для выполнения нескольких подстановок строк в Python

Используйте :

Безопасно оцените узел выражения или кодировку Unicode или Latin-1, содержащую выражение Python. Представленная строка или узел могут состоять только из следующих литеральных структур Python: строк, чисел, кортежей, списков, dicts, booleans и None.

Основные методы строк

Последнее обновление: 02.05.2017

Рассмотрим основные методы строк, которые мы можем применить в приложениях:

  • isalpha(str): возвращает True, если строка состоит только из алфавитных символов

  • islower(str): возвращает True, если строка состоит только из символов в нижнем регистре

  • isupper(str): возвращает True, если все символы строки в верхнем регистре

  • isdigit(str): возвращает True, если все символы строки — цифры

  • isnumeric(str): возвращает True, если строка представляет собой число

  • startwith(str): возвращает True, если строка начинается с подстроки str

  • endwith(str): возвращает True, если строка заканчивается на подстроку str

  • lower(): переводит строку в нижний регистр

  • upper(): переводит строку в вехний регистр

  • title(): начальные символы всех слов в строке переводятся в верхний регистр

  • capitalize(): переводит в верхний регистр первую букву только самого первого слова строки

  • lstrip(): удаляет начальные пробелы из строки

  • rstrip(): удаляет конечные пробелы из строки

  • strip(): удаляет начальные и конечные пробелы из строки

  • ljust(width): если длина строки меньше параметра width, то справа от строки добавляются пробелы, чтобы дополнить значение width, а сама строка выравнивается по левому краю

  • rjust(width): если длина строки меньше параметра width, то слева от строки добавляются пробелы, чтобы дополнить значение width, а сама строка выравнивается по правому краю

  • center(width): если длина строки меньше параметра width, то слева и справа от строки равномерно добавляются пробелы, чтобы дополнить значение width, а сама строка выравнивается по центру

  • find(str[, start [, end]): возвращает индекс подстроки в строке. Если подстрока не найдена, возвращается число -1

  • replace(old, new[, num]): заменяет в строке одну подстроку на другую

  • split([delimeter[, num]]): разбивает строку на подстроки в зависимости от разделителя

  • join(strs): объединяет строки в одну строку, вставляя между ними определенный разделитель

Например, если мы ожидаем ввод с клавиатуры числа, то перед преобразованием введенной строки в число можно проверить, с помощью метода isnumeric() введено ли в действительности число, и если так, то выполнить операцию преобразования:

string = input(«Введите число: «) if string.isnumeric(): number = int(string) print(number)

Проверка, начинается или оканчивается строка на определенную подстроку:

file_name = «hello.py» starts_with_hello = file_name.startswith(«hello») # True ends_with_exe = file_name.endswith(«exe») # False

Удаление пробелов в начале и в конце строки:

string = » hello world! » string = string.strip() print(string) # hello world!

Дополнение строки пробелами и выравнивание:

print(«iPhone 7:», «52000».rjust(10)) print(«Huawei P10:», «36000».rjust(10))

Консольный вывод:

iPhone 7: 52000 Huawei P10: 36000

Поиск в строке

Для поиска подстроки в строке в Python применяется метод find(), который возвращает индекс первого вхождения подстроки в строку и имеет три формы:

  • : поиск подстроки str ведется с начала строки до ее конца

  • : параметр start задает начальный индекс, с которого будет производиться поиск

  • : параметр end задает конечный индекс, до которого будет идти поиск

Если подстрока не найдена, метод возвращает -1:

welcome = «Hello world!

Строки в питоне

Goodbye world!» index = welcome.find(«wor») print(index) # 6 # поиск с 10-го индекса index = welcome.find(«wor»,10) print(index) # 21 # поиск с 10 по 15 индекс index = welcome.find(«wor»,10,15) print(index) # -1

Замена в строке

Для замены в строке одной подстроки на другую применяется метод replace():

  • : заменяет подстроку old на new

  • : параметр num указывает, сколько вхождений подстроки old надо заменить на new

phone = «+1-234-567-89-10» # замена дефисов на пробел edited_phone = phone.replace(«-«, » «) print(edited_phone) # +1 234 567 89 10 # удаление дефисов edited_phone = phone.replace(«-«, «») print(edited_phone) # +12345678910 # замена только первого дефиса edited_phone = phone.replace(«-«, «», 1) print(edited_phone) # +1234-567-89-10

Разделение на подстроки

Метод split() разбивает строку на список подстрок в зависимости от разделителя. В качестве разделителя может выступать любой символ или последовательность символов. Данный метод имеет следующие формы:

  • : в качестве разделителя используется пробел

  • : в качестве разделителя используется delimeter

  • : параметр num указывает, сколько вхождений delimeter используется для разделения. Оставшаяся часть строки добавляется в список без разделения на подстроки

text = «Это был огромный, в два обхвата дуб, с обломанными ветвями и с обломанной корой» # разделение по пробелам splitted_text = text.split() print(splitted_text) print(splitted_text[6]) # дуб, # разбиение по запятым splitted_text = text.split(«,») print(splitted_text) print(splitted_text[1]) # в два обхвата дуб # разбиение по первым пяти пробелам splitted_text = text.split(» «, 5) print(sp
litted_text) print(splitted_text[5]) # обхвата дуб, с обломанными ветвями и с обломанной корой

Соединение строк

При рассмотрении простейших операций со строками было показано, как объединять строки с помощью операции сложения. Другую возможность для соединения строк представляет метод join(): он объединяет список строк. Причем текущая строка, у которой вызывается данный метод, используется в качестве разделителя:

words = [«Let», «me», «speak», «from», «my», «heart», «in», «English»] # разделитель — пробел sentence = » «.join(words) print(sentence) # Let me speak from my heart in English # разделитель — вертикальная черта sentence = » | «.join(words) print(sentence) # Let | me | speak | from | my | heart | in | English

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

word = «hello» joined_word = «|».join(word) print(joined_word) # h|e|l|l|o

НазадСодержаниеВперед

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *