Alex2411 Опубликовано 8 мая, 2020 Поделиться Опубликовано 8 мая, 2020 мне нужно удалить в тексте пробелы в каждой строке , но только до символа знак = , а дальше пробелы в строке не удалять . как это сделать ? например есть строкиабв гд ежз и клмн = опр ст уфх ббв дд ккж цц = ттв гн тмс а нужно что бы получилось такабвгдежзиклмн= опр ст уфх ббвддккжцц= ттв гн тмс пробовал применить рег выражения . найти каждую часть строки с пробелеми до знак = у меня получилось , а убрать пробелы оттуда не получаеться . Ссылка на комментарий Поделиться на другие сайты Поделиться
Xipho Опубликовано 8 мая, 2020 Поделиться Опубликовано 8 мая, 2020 (изменено) ЯП какой? В общем случае, регулярка, которая будет находить пробелы слева от знака = будет такой: \s(?=.*?=) А дальше средствами своего ЯП заменяешь мэтчи на пустоту, и всё. Изменено 8 мая, 2020 пользователем Xipho Поправил выбору на нежадную Ссылка на комментарий Поделиться на другие сайты Поделиться
Alex2411 Опубликовано 8 мая, 2020 Автор Поделиться Опубликовано 8 мая, 2020 23 минуты назад, Xipho сказал: ЯП какой? извини я наверно не правильно спросил . я не програмер поэтому языки не знаю . пробую найти и заменить в редакторе notepad++ с применением рег выражений . это можно сделать в таком редакторе без програмирования ? пробовал в других редакторах то же не выходит. найти получаеться , а как удалить только пробелы в найденом не понятно . удаляеться весь кусок до знака = . Ссылка на комментарий Поделиться на другие сайты Поделиться
Xipho Опубликовано 9 мая, 2020 Поделиться Опубликовано 9 мая, 2020 8 часов назад, Alex2411 сказал: удаляеться весь кусок до знака Замена по регулярке в notepad++ Результат Разумеется, в поле "Заменить на" не должно быть ничего. То есть, должно быть пусто. И моя регулярка, как видишь, срабатывает правильно. 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Alex2411 Опубликовано 9 мая, 2020 Автор Поделиться Опубликовано 9 мая, 2020 8 часов назад, Xipho сказал: И моя регулярка, как видишь, срабатывает правильно. вижу да . все работает отлично спасибо . только я не понимаю как она работает . хочеться понять и научиться делать самому , а не тупо брать готовое . в твоем выражении \s(?=.*?=) что \s значит пробел , а .* значит любой символ я знаю , но мне не понятно как работают ?= и как работают скобки . пробовал в тестере рег выражений смотрел на что влияет , но не допер . можешь объяснить ? или дать ссылку где прочитать ели объяснять не охота ? только чтобы по ссылке понятно было чайнику . я искал в гугле про регулярные выражения в notepad++ . статей нашел полно , но не где не попалось толковых описаний . Ссылка на комментарий Поделиться на другие сайты Поделиться
Xipho Опубликовано 9 мая, 2020 Поделиться Опубликовано 9 мая, 2020 Вся сложность регулярок в том, что один и тот же символ может иметь разное назначение. Например, в обычном случае скобки - это так называемая группа захвата, которую можно потом отдельно менять. Но в моем случае скобки указывают на упреждающую позитивную проверку. Моя регулярка читается примерно так: \s (любой пробельный символ), (?= (после которого будет) .*?= (любое количество любых символов до первого знака = ) ) (закрывающая скобка упреждающей позитивной проверки). По регуляркам есть целые книги, названия, к сожалению, подсказать не смогу, уже не помню. ЗЫ. Для тестов рег выражений я исользую сайт regex101.com - как по мне, самый отличный сайт. Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения