Подстрока
В информатике подстрока — это непустая связная часть строки.
Формальное определение
Пусть .
Любая строка , где
, является подстрокой
с длиной
.
Если , то
называется префиксом
с длиной
.
Если , то
— суффикс
с длиной
.
Пример
С точки зрения информатики строки «кипед», «Вики», «дия» являются подстроками строки «Википедия»; при этом «Вики» — префиксом, а «дия» — суффиксом.
Википедия ||||||||| ||кипед|| |||| ||| Вики ||| дия
Получение подстроки
Если 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
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 ,
которые также возвращают подстроку