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

Что такое подстрока

  • автор:

Подстрока

В информатике подстрока — это непустая связная часть строки.

Формальное определение

Пусть L=c_0\dots c_<n-1>» width=»» height=»» /> — строка с длиной <img decoding=.
Любая строка S=c_i\dots c_j, где 0\le i\le j\le n-1, является подстрокой Lс длиной j-i+1.
Если i=0, то Sназывается префиксом Lс длиной j+1.
Если j=n-1, то Sсуффикс Lс длиной j-i+1.

Пример

С точки зрения информатики строки «кипед», «Вики», «дия» являются подстроками строки «Википедия»; при этом «Вики» — префиксом, а «дия» — суффиксом.

Википедия ||||||||| ||кипед|| |||| ||| Вики ||| дия

Получение подстроки

Если line — исходная строка, begin — индекс первого символа подстроки, end — индекс последнего символа подстроки, то подстрока subline вычисляется следующим образом:

В языке C

char* subline = ( char* )malloc( end — begin + 2 );
memcpy( subline, line + begin, end — begin + 1 );
subline[ end — begin + 1 ] = ‘\0’;

В языке Python

subline = line[begin:end + 1]

В языке python подстрока является слайсом (срезом) (англ. slice ).

В языке Perl

my $subline = substr $line, $begin, $end — $begin + 1;

В языке PHP

$subline = substr($line, $begin, $end — $begin + 1);

В языке Pascal

subline := Copy(line, begin, end — begin + 1);

В языке Ruby

Операции с подстрокой

Помимо простой задачи выделения подстроки из строки по двум индексам существует и более сложная задача поиска индексов, указывающих на заданную подстроку в строке (поиск вхождения подстроки в строку).

См. также

  • Строковый тип
  • Алгоритмы поиска вхождений подстроки в строку
Это заготовка статьи о компьютерах. Вы можете помочь проекту, исправив и дополнив её.
Это примечание по возможности следует заменить более точным.
  • Строковые алгоритмы
  • Поиск подстроки

Wikimedia Foundation . 2010 .

Полезное

Смотреть что такое «Подстрока» в других словарях:

  • подстрока строки символов — — [http://www.iks media.ru/glossary/index.html?glossid=2400324] Тематики электросвязь, основные понятия EN substring of a string of symbols … Справочник технического переводчика
  • подстрока — подстрок а, и, мн. ч. оки, ок (инф.) … Русский орфографический словарь
  • Наибольшая общая подстрока — (англ. longest common substring) подстрока двух или более строк, имеющая максимальную длину. Формально, наибольшей общей подстрокой строк называется строка , которая удовлетворяет условию , операция обозначает что строка является (в … Википедия
  • подстарок — подстрока … Краткий словарь анаграмм
  • Суффиксное дерево — Суффиксное дерево бор, содержащий все суффиксы некоторой строки (и только их). Позволяет выяснять, входит ли строка w в исходную строку t, за время O(|w|), где |w| длина строки w. Содержание 1 Основные определения и описание структуры … Википедия
  • Дерево суффиксов — Суффиксное дерево способ организации данных (строк), позволяющий выяснять, входит ли строка w в строку t, за время O(|w|), где |w| длина строки w. Содержание 1 Основные определения и описание структуры 2 Свойства суффиксных д … Википедия
  • Префикс (информатика) — Содержание 1 Формальное определение 2 Пример 3 Получение подстроки 3.1 В языке C … Википедия
  • Алгоритм Рабина — Карпа — это алгоритм поиска строки, который ищет шаблон, то есть подстроку, в тексте используя хеширование. Он был разработан в 1987 году Майклом Рабином и Ричардом Карпом. Алгоритм редко используется для поиска одиночного шаблона, но имеет значительную… … Википедия
  • LZ77 — и LZ78 алгоритмы сжатия без потерь, опубликованные в статьях Абрахама Лемпеля (англ.) и Якоба Зива (англ.) в 1977 и 1978 годах. Эти алгоритмы наиболее известные варианты в семействе LZ*, которое включает в себя также LZW, LZSS,… … Википедия
  • Алгоритм Бойера — Мура — Хорспула — Алгоритм Бойера Мура Хорспула поиска строки упрощённый вариант алгоритма Бойера Мура. АБМХ работает лучше алгоритма Бойера Мура на случайных текстах. К тому же, требующая многих предварительных вычислений эвристика… … Википедия
  • Обратная связь: Техподдержка, Реклама на сайте
  • �� Путешествия

Экспорт словарей на сайты, сделанные на PHP,
WordPress, MODx.

  • Пометить текст и поделитьсяИскать в этом же словареИскать синонимы
  • Искать во всех словарях
  • Искать в переводах
  • Искать в ИнтернетеИскать в этой же категории

String.prototype.substring()

Метод substring() возвращает подстроку строки между двумя индексами, или от одного индекса и до конца строки.

Синтаксис

str.substring(indexA[, indexB])

Параметры

Целое число от 0 до длины строки, определяющее смещение в строке первого символа, который будет включён в результирующую подстроку.

Необязательный параметр. Целое число от 0 до длины строки, определяющее смещение в строке первого символа, который не будет включён в результирующую подстроку.

Описание

Метод substring() извлекает символы, начиная с индекса indexA до, но не включая, индекс indexB . В частности:

  • Если аргумент indexA равен аргументу indexB , метод substring() вернёт пустую строку.
  • Если аргумент indexB опущен, метод substring() извлечёт символы до конца строки.
  • Если любой из аргументов меньше, либо равен нулю или равен NaN , он будет трактоваться как равный 0.
  • Если любой из аргументов больше, чем stringName.length , он будет трактоваться как равный stringName.length .

Если аргумент indexA будет больше аргумента indexB , то метод substring() сработает так, как если бы аргументы были поменяны местами; например, str.substring(1, 0) == str.substring(0, 1) .

Примеры

Пример: использование метода substring()

В следующем примере метод substring() используется для отображения символов из строки ‘Mozilla’ :

var anyString = "Mozilla"; // Отобразит 'Moz' console.log(anyString.substring(0, 3)); console.log(anyString.substring(3, 0)); // Отобразит 'lla' console.log(anyString.substring(4, 7)); console.log(anyString.substring(7, 4)); // Отобразит 'Mozill' console.log(anyString.substring(0, 6)); // Отобразит 'Mozilla' console.log(anyString.substring(0, 7)); console.log(anyString.substring(0, 10)); 

Пример: использование метода substring() вместе со свойством length

Следующий пример использует метод substring() и свойство length для извлечения последних символов из строки. Этот метод может оказаться легче для запоминания, особенно если учесть, что вам не нужно знать начальный и конечный индексы, как это было в примере выше.

// Отобразит 'illa' - последние 4 символа var anyString = "Mozilla"; var anyString4 = anyString.substring(anyString.length - 4); console.log(anyString4); // Отобразит 'zilla' - последние 5 символов var anyString = "Mozilla"; var anyString5 = anyString.substring(anyString.length - 5); console.log(anyString5); 

Пример: замена подстроки в строке

Следующий пример демонстрирует замену подстроки в строке. Он заменит как отдельные символы, так и целые подстроки. Вызов функции в конце примера изменит строку ‘Дивный новый мир’ на строку ‘Дивный новый веб’ .

// Заменяет oldS на newS в строке fullS function replaceString(oldS, newS, fullS)  for (var i = 0; i  fullS.length; ++i)  if (fullS.substring(i, i + oldS.length) == oldS)  fullS = fullS.substring(0, i) + newS + fullS.substring(i + oldS.length, fullS.length); > > return fullS; > replaceString("мир", "веб", "Дивный новый мир"); 

Обратите внимание, что функция может скатиться в бесконечный цикл, если строка oldS сама является подстрокой для newS — например, если вы попытаетесь заменить слово «мир» на слово «другоймир». Лучше использоваться следующий метод для замены строк:

function replaceString(oldS, newS, fullS)  return fullS.split(oldS).join(newS); > 

Код выше следует рассматривать всего лишь как пример работы с подстроками. Если вам нужно заменить подстроки, скорее всего вы захотите использовать метод String.prototype.replace() .

Спецификации

Specification
ECMAScript Language Specification
# sec-string.prototype.substring

Совместимость с браузерами

BCD tables only load in the browser

Смотрите также

  • String.prototype.substr()
  • String.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.

Что такое «подстрока строки»?

Подскажите пожалуйста мне, новичку, что такое подстрока строки?
Задание: Дана подстрока и строка. Удалить из строки все вхождения заданной подстроки.
P.S: код программы не нужен, просто объясните что это такое. И как представить. Заранее благодарен.

Лучшие ответы ( 1 )
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:

Вывести те строки из файла, в которые входит введённая пользователем подстрока
Всем привет. 🙂 Вчера целый день мучался с заданием "Вывести те строки из файла, в которые входит.

Вводится 2 строки. Правда ли, что вторая строка встречается в первой как подстрока
Как сделать проверку введённых символов? или может есть другой метод ? #include<iostream> using.

что означают эти 2 строки (желательно подробно) и что такое wizardmask
procedure TForm1.Timer1Timer(Sender: TObject); begin .

Строки. Даны строка S и подстрока S1.Удалить из строки S все вхождения строки S1
Даны строка S и подстрока S1.Удалить из строки S все вхождения строки S1.В строке S подсчитать.

Почетный модератор
7391 / 2637 / 281
Регистрация: 29.07.2006
Сообщений: 13,696

Лучший ответ

Сообщение было отмечено Памирыч как решение

Решение

Подстрока — просто часть строки.
Есть строка abcdefgcdef
Удалить подстроку cd
будет abefgef

Эксперт C

27695 / 17314 / 3809
Регистрация: 24.12.2010
Сообщений: 38,979

Пусть дана подстрока (это просто строка, но в рамках данной задачи она называется подстрокой) P=»ab» и строка S=»abxyabzawb». P входит в S 2 раза (с нулевой и 4-й позиции). После удаления всех вхождений должно получится «xyzawb»

Метод substring

Метод substring возвращает подстроку из строки (исходная строка при этом не изменяется). Первый параметр задает номер символа, с которого метод начинает отрезать (нумерация идет с нуля), а второй параметр — номер символа, на котором следует закончить вырезание (символ с этим номером не включается в вырезанную часть). Второй параметр не является обязательным, если он не указан, то вырезаны будут все символы до конца строки.

Синтаксис

строка.substring(откуда начать отрезать, [докуда отрезать]);

Пример

Пусть дана строка. Давайте вырежем из нее символы с первого по третий:

let str = ‘abcde’; let sub = str.substring(1, 3); console.log(sub);

Результат выполнения кода (символ с номером 3 не включится в вырезанную часть):

Пример

Давайте теперь вырежем символы с 1 -го и до конца строки (для этого не зададим второй параметр метода):

let str = ‘abcde’; let sub = str.substring(1); console.log(sub);

Результат выполнения кода:

Смотрите также

  • методы substr и slice ,
    которые также возвращают подстроку

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

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