Необходимо удалить пробелы между двумя символами - PullRequest
0 голосов
/ 10 января 2019

Необходимо удалить пробелы между двумя двоеточиями. Таким образом, вывод : test : будет :test:. Я получил это, чтобы обнаружить все между ::, но теперь мне нужно, чтобы это соответствовало только пробелу. Это регулярное выражение, которое соответствует всему: (?<=\:)(.*?)(?=\:)

Ответы [ 5 ]

0 голосов
/ 10 января 2019

Используйте

var s = " test : test : test";
console.log(
  s.replace(/:[^:]+:/g, function (m) { return m.replace(/\s+/g, ''); })
)

Детали

  • /:[^:]+:/g - соответствует всем подстрокам, которые начинаются с :, затем имеют 1+ символов, отличных от :, а затем :
  • m - найденный сопоставленный текст, он передается методу обратного вызова в replace метод
  • m.replace(/\s+/g, '') удаляет все 1+ последовательных пробельных символов внутри этого совпадения, после чего текст возвращается и вставляется обратно в результат.
0 голосов
/ 10 января 2019

Попробуйте захват двоеточия и replace():

/\s*(:)\s*/gi

Демо

var str = `fbflb : vfkvbfkvb : otjtjb : hih igvjyfv ugukgu ugug `

var rgx = /\s*(:)\s*/gi;

var res = str.replace(rgx, '$1');

console.log(res);
0 голосов
/ 10 января 2019

Попробуйте это

": test :".replace(/: *(.*?) *:/g,":$1:")

let a = ": test :".replace(/: *(.*?) *:/g,":$1:")

console.log(a);

Если вы хотите удалить только пробелы из строки, используйте просто

": test :".replace(/ /g,'')

let a = ": test :".replace(/ /g,'')

console.log(a);
0 голосов
/ 10 января 2019

Следующее регулярное выражение удалит все пробельные символы из строки. \ s представляет любой символ пробела, включая символы табуляции. флаг 'g' будет выполнять несколько совпадений.

let text = ': test :'
let textWithoutSpaces = text.replace(/\s/g, '');
// textWithoutSpaces === ':test:'
0 голосов
/ 10 января 2019

Использовать Заменить и захватить группу

let str = ': test :'

let op = str.replace(/(:)\s+(.*?)\s+(:)/g, "$1$2$3")
let op1 = str.replace(/:(.*?):/g,':$1:' )

console.log(op);
console.log(op1)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...