String.prototype.slice()
Метод slice() извлекает часть строки и возвращает новую строку без изменения оригинальной строки.
Интерактивный пример
Синтаксис
str.slice(beginIndex[, endIndex])
Параметры
Индекс, с которого начинать извлечение (нумерация начинается с нуля). Если аргумент отрицателен, то трактуется как str.length + beginIndex (например, если beginIndex равен -3 , то он трактуется как str.length — 3 ). Если beginIndex не является числом при проверке Number( beginIndex ) , он трактуется как 0 .
Если beginIndex больше или равен str.length , возвращается пустая строка.
Индекс, перед которым заканчивать извлечение (нумерация начинается с нуля). Символ по этому индексу не будет включён.
Если * endIndex *опущен или является undefined или больше чем str.length , slice() извлечёт всё до конца строки. Если аргумент отрицателен, то трактуется как str.length + endIndex (например, если endIndex равен -3 , то он трактуется как str.length — 3 ). Если аргумент не undefined и не является числом при проверке Number( endIndex ) , возвращается пустая строка.
Если endIndex указан и меньше startIndex , то возвращается пустая строка (например, slice(-1, -3) или slice(3, 1) вернут «» ).
Возвращаемое значение
Новая строка, содержащая извлечённую часть строки.
Описание
Метод slice() извлекает текст из одной строки и возвращает новую строку. Изменения текста в одной строке не влияют на другую строку.
Метод slice() извлекает все символы до индекса endIndex , не включая сам этот индекс. Вызов str.slice(1, 4) извлечёт символы со второго по четвёртый (символы под индексами 1 , 2 и 3 ).
К примеру, вызов str.slice(2, -1) извлечёт символы с третьего по второй с конца строки.
Примеры
Пример: использование метода slice() для создания новой строки
В следующем примере метод slice() используется для создания новой строки.
let str1 = "Приближается утро."; let str2 = str1.slice(1, 8); let str3 = str1.slice(4, -2); let str4 = str1.slice(12); let str5 = str1.slice(30); console.log(str2); // ВЫВОД: риближа console.log(str3); // ВЫВОД: лижается утр console.log(str4); // ВЫВОД: утро. console.log(str5); // ВЫВОД: ""
Пример: использование метода slice() с отрицательными индексами
В следующем примере метод slice() используется вместе с отрицательными индексами.
let str = "Приближается утро."; str.slice(-3); // вернёт 'ро.' str.slice(-3, -1); // вернёт 'ро' str.slice(0, -1); // вернёт 'Приближается утро'
В этом примере начальным индексом считается 11 -й символ с конца строки, а конечным — 16 -й с начала.
.slice(-11, 16); // вернёт 'ается утр'
Здесь начальным индексом считается 6 -й символ от начала строки, а конечным — 7-й с конца.
.slice(6, -7); // вернёт 'жаетс'
В этом примере оба индекса считаются с конца строки: 5-й для начального индекса, 1 -й для конечного.
.slice(-5, -1); // вернёт 'утро'
Спецификации
| Specification |
|---|
| ECMAScript Language Specification # sec-string.prototype.slice |
Совместимость с браузерами
BCD tables only load in the browser
Смотрите также
- String.prototype.substr()
- String.prototype.substring()
- Array.prototype.slice()
Found a content problem with this page?
- Edit the page on GitHub.
- Report the content issue.
- View the source on GitHub.
This page was last modified on 7 авг. 2023 г. by MDN contributors.
Your blueprint for a better internet.
MDN
Support
- Product help
- Report an issue
Our communities
Developers
- Web Technologies
- Learn Web Development
- MDN Plus
- Hacks Blog
- Website Privacy Notice
- Cookies
- Legal
- Community Participation Guidelines
Visit Mozilla Corporation’s not-for-profit parent, the Mozilla Foundation.
Portions of this content are ©1998– 2024 by individual mozilla.org contributors. Content available under a Creative Commons license.
5 простых способов удалить символ из строки
Существует несколько методов, позволяющих удалить определенный символ из строки:
- Примитивный метод.
- Функция replace().
- Срезы и конкатенация.
- Метод join() и генератор списков.
- Метод translate()
Важная деталь — строки в Python неизменяемы. Исходная строка останется нетронутой, а новую вернут методы, о которых написано выше.
Задачи по строкам и решения к ним у нас в телеграм канале PythonTurbo
1. Примитивный метод удаления символа из строки
Суть этого метода проста. Мы пишем цикл и создаем новую пустую строку. Цикл работает так: все символы кроме элемента с индексом n помещаются в новую строку. ( n — индекс элемента, который нам нужно удалить)
input_str = "pythonist" # Выводим в консоль исходную строку print ("Исходная строка: " + input_str) result_str = "" for i in range(0, len(input_str)): if i != 3: result_str = result_str + input_str[i] # Выводим в консоль строку после удаления i-го элемента print ("Строка после удаления i-го элемента: " + result_str)
Исходная строка: pythonist Строка после удаления i-го элемента: pytonist
2. Удаление элемента из строки с помощью метода replace()
str = "pythonist" print ("Исходная строка: " + str) res_str = str.replace('t', '') # Удаление всех 't' print("Строка после удаления всех символов t: " + res_str) # Удаление только первой t res_str = str.replace('t', '', 1) print ("Строка после удаления первого t: " + res_str)
Исходная строка: pythonist Строка после удаления всех символов t: pyhonis Строка после удаления первого t: pyhonist
Мини-задачка для вашей тренировки метода replace()
«Напишите программу на Python для получения строки из заданной строки, в которой все вхождения первого символа заменены на ‘$’, кроме самого первого символа.»
Пример: print(change_char(‘restart’))
»»» resta$t
Решение задачки можно глянуть у нас в канале
3. Удаление символа с помощью срезов и конкатенации
str = "pythonist" print ("Исходная строка: " + str) # Удаляем элемент с индексом 3 # с помощью срезов и объединения res_str = str[:3] + str[4:] print ("Строка после удаления символа: " + res_str
Исходная строка: pythonist Строка после удаления символа: pytonist
4. Удаление символа с помощью метода join() и генераторов списков
Суть этого метода в том, чтобы конвертировать строку в эквивалентный список. После этого все элементы кроме того, который мы собираемся удалить, объединяются в строку.
str = "pythonist" print("Исходная строка: " + str) # Удаление элемента с индексом 2 # с помощью join() и генератора списков res_str = ''.join([str[i] for i in range(len(str)) if i != 2]) print("Строка после удаления символа: " + res_str)
Исходная строка: pythonist Строка после удаления символа: pyhonist
5. Удаление символа из строки с помощью метода translate()
str = 'pythonist123pythonist' print(str.translate())
Как добавить в начало строки n символов на python?
Есть строка из произвольного количества символов, как можно добавить в её начало n символов с? rjust не подходит. Сейчас делаю, так, но думаю, есть что-то лучше.
s = str().rjust(n, c) + s
Отслеживать
задан 20 июл 2021 в 12:50
527 1 1 золотой знак 3 3 серебряных знака 15 15 бронзовых знаков
Это учебное задание? Пожалуйста, добавьте в вопрос ваши попытки решить его.
20 июл 2021 в 12:54
@StanislavVolodarskiy, не учебное, обычно когда добавляю пример, пишут, что всё и так нормально.
20 июл 2021 в 13:03
@Максим, чтобы получить строку из n одинаковых символов, нужно символ умножить на количество. Никаких особых ухищрений, как у вас в вопросе, тут не нужно.
20 июл 2021 в 13:13
@insolor, я думал, для этого есть специальная функция.
20 июл 2021 в 13:19
А чем оператор умножения не устраивает?
20 июл 2021 в 13:20
4 ответа 4
Сортировка: Сброс на вариант по умолчанию
c = 'u' # символ n = 4 # количество раз was_str = 'данная строка' new_str = c * n print(new_str + was_str)
Отслеживать
ответ дан 20 июл 2021 в 12:56
21 2 2 бронзовых знака
Исходя из предложенных ответов делаю вывод, чтобы добавить строке s в начало n символов c, достаточно следующего кода
s = c * n + s
Отслеживать
ответ дан 20 июл 2021 в 13:33
527 1 1 золотой знак 3 3 серебряных знака 15 15 бронзовых знаков
Можно сделать новую строку через формат строки для питона 3.6+:
n = 5 prefix = 'hello' string = 'John' comb = f''
Для более ранних версий питона можно сделать так:
comb = '<><>'.format(prefix * n, string)
Отслеживать
8,571 4 4 золотых знака 21 21 серебряный знак 36 36 бронзовых знаков
ответ дан 20 июл 2021 в 15:08
Andy Pavlov Andy Pavlov
3,884 10 10 серебряных знаков 16 16 бронзовых знаков
Элементарно, ка то так:
initial_str = "ABCDEF" n = input() res = int(n)*"c" + initial_str
Отслеживать
ответ дан 20 июл 2021 в 12:56
7,797 13 13 золотых знаков 25 25 серебряных знаков 55 55 бронзовых знаков
- python
- python-3.x
- строки
-
Важное на Мете
Похожие
Подписаться на ленту
Лента вопроса
Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.
Дизайн сайта / логотип © 2024 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2024.1.8.3130
Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.
Получить n-й символ строки (find string substring character position pos) Swift — 5
![]()
Хочешь стать успешным разработчиком
приложений? Тогда добро пожаловать к нам.

Все права защищены © 2014-2024 GURU
Наши контакты
Позвоните мне
Позвоните мне
Список поддерживаемых устройств
Mac mini 2020 года и новее
iMac 2019 года и новее
iMac Pro 2017 года
Mac Pro 2019 года и новее
MacBook Air 2019 года и новее
MacBook 2017 года и новее MacBook Pro 2018 года и новее
Приложение в App Store
В App Store публикуется только то приложение, которое есть в данной программе курса, данное приложение должно быть написано под руководством преподавателя
Приложение публикуется только в одном экземпляре
Сторонние приложения, которые не были написаны в данном курсе и или под руководством преподавателя мы не публикуем в App Store
«Пятиминутка» — в начале урока, первые 5 минут, Вы сможете ответить на вопросы – устно, из прошлых тем. А уже после этого, продолжите урок – по теме.
«Пятиминутка», будет не на каждом уроке, а только иногда.
Мы предполагаем, это улучшит процесс обучения на 2% – 4.5%
Блиц – это проверка усвоенного материала учеником.
В течение 1 часа (60 минут) преподаватель задаёт вопросы по пройденным темам, и ученик пишет код, одновременно комментируя и отвечая на вопросы преподавателя.
Мы уверены в эффективности данного подхода, он позволит нам понять, уровень усвоенного материала, а так же выявить темы, которые были не до конца усвоены и требуют дополнительного домашнего задания.
Тем самым сможем анализировать ответы, улучшая программы курсов и обучающий процесс.
На данном уроке, будут практические задачи, разных уровней сложности, по пройденным темам курса. Все практические задания будут объяснены — показано несколько вариантов, как можно их решить разным способом – усложнить или упростить.