Перейти к содержимому

Как вывести n символ с конца

  • автор:

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

facebook vk instagram Телеграм youtube

Хочешь стать успешным разработчиком
приложений? Тогда добро пожаловать к нам.

обучись профессии будущего

Все права защищены © 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 минут) преподаватель задаёт вопросы по пройденным темам, и ученик пишет код, одновременно комментируя и отвечая на вопросы преподавателя.

Мы уверены в эффективности данного подхода, он позволит нам понять, уровень усвоенного материала, а так же выявить темы, которые были не до конца усвоены и требуют дополнительного домашнего задания.

Тем самым сможем анализировать ответы, улучшая программы курсов и обучающий процесс.

На данном уроке, будут практические задачи, разных уровней сложности, по пройденным темам курса. Все практические задания будут объяснены — показано несколько вариантов, как можно их решить разным способом – усложнить или упростить.

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

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