169 похожих чатов

Привет всем. Нужна ваша помощь. Заранее благодарю всех неравнодушных! Есть строка. Нужно

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

17 ответов

21 просмотр

регулярка

Avtandil- Автор вопроса
Alexander
регулярка

регуляркой я то найду. Заменить чем ? И при замене как передать найденное значение(его нужно конкатенировать с другой строкой и вставить туда же)?

Avtandil
регуляркой я то найду. Заменить чем ? И при замене...

пример можешь привести, че куда вставлять

Регулярка с boundary, \b и запоминать индексы, где нужное начинается. Дальше не знаю. https://t.me/regex_ru. Или быстрее нагуглить.

Avtandil- Автор вопроса
Alexander
пример можешь привести, че куда вставлять

const string = Слово "заменить" нужно "заменить" Начало и конец заменяемого объекта определяется кавычками ". При замене слово "заменить" нужно добавить еще несколько фраз и вставить туда же.

Avtandil
const string = Слово "заменить" нужно "заменить" Н...

запоминаешь где начало где конец, вырезаешь, вставляешь че надо

Avtandil- Автор вопроса
Alexander
запоминаешь где начало где конец, вырезаешь, встав...

каким методом находить индексы чтобы запомнить ?

Avtandil- Автор вопроса
Alexander
запоминаешь где начало где конец, вырезаешь, встав...

как создать массив(хранилище) индексов начало и конец для каждого совпадения?

Avtandil
как создать массив(хранилище) индексов начало и ко...

можешь прогнать цикл индекс офом собираея все ковычки и увиличивая начало следующего поиска после найденой складывая индексы в массив [[2, 5],[10, 12]]. Ну или через регулярку как удобнее.

Avtandil- Автор вопроса
Alexander
можешь прогнать цикл индекс офом собираея все ковы...

нужно еще сохранять значение внутри кавычек

Avtandil
нужно еще сохранять значение внутри кавычек

ну это 3 элементом массива можешь добавить) прогонять индексоф пока не вернет -1

Avtandil- Автор вопроса
Avtandil
в цикле прогнать всю строку ?

while(str.indexOf(searchStr, startIndex)) > -1)

Avtandil- Автор вопроса
Alexander
while(str.indexOf(searchStr, startIndex)) > -1)

если строка будет большая, движок не загнется ?

Avtandil
если строка будет большая, движок не загнется ?

нет конечно) ты по сути один раз проходишь по строке и делаешь массив с индексами и значениями замен)

Avtandil- Автор вопроса

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Ребят в СИ можно реализовать ООП?
Николай
33
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Карта сайта