Вопрос:
Я новичок в регулярном выражении, поэтому мне нужна помощь, как удалить первые пробелы в регулярном выражении в каждой строке в notepad++?
Пример:
191.341.411.314 80
191.341.411.315 80
191.341.411.316 80
191.341.411.317 80
и мне это нужно
191.341.411.314 80
191.341.411.315 80
191.341.411.316 80
191.341.411.317 80
список включает +1000 линии, что является лучшим решением?
Лучший ответ:
Вам просто нужно привязать ваше регулярное выражение к началу строки
^s
и ничего не замените. s – класс сокращенного символа для пробелов
См. Здесь, в Regexr
Ответ №1
Чтобы удалить первый пробел, вы должны gsub строку, которую вы имеете так:
» 191.341.411.314 80″.gsub(/^p{Space}/, ») Ответ №2Содержание
Проверьте это Demo jsFiddle
RegExp
/^s/ // remove only first whitespace /s/ // remove first whitespace entire string / / // remove first whitespace entire string
Код
var finalUrl = » 191.341.411.314 80″; console.log(finalUrl); // Before console.log(finalUrl.replace(/^s/ , »)); // After
результат
191.341.411.314 80 191.341.411.314 80
Надеюсь, это поможет вам!
Ответ №3
После вашего обновления ясно, что у вас есть файл с этими строками.
В этом случае лучше сделать что-то вроде этого:
путь awk
awk ‘{print $1″ «$2}’ text.txt
где text.txt будет файлом, содержащим ваш исходный текст. вы можете записать результат в другом файле, используя это:
awk ‘{print $1″ «$2}’ text.txt > finaltext.txt
или perl way
perl -pe ‘s/^s//g’ text
=========
var str = » 191.341.411.314 80″; //with a space at beginning console.log(str); var res = str.replace(/^s?/, »); console.log(res);
попробуйте это в своей консоли firebug.
Ответ №4
(?<=s).* выберет все, что следует за одним символом пробела. Однако он не будет соответствовать строкам, которые не начинаются с пробела.
Во всяком случае, не просто ли обрезка строки решить вашу проблему? Для этого варианта использования regex кажется немного переборщиком для меня.