2016-09-16 3 views
-3

У меня есть строка, которая имеет символ > несколько раз. После каждого символа > происходит разрыв строки. Как удалить пробелы после каждого символа > в строке?Удалить пробел после определенного символа

Это то, что я пробовал для пробелов. Но мне нужно удалить пробелы только после символа >.

str.replace(/\s/g, ''); 

Строка:

<Apple is red> 
<Grapes - Purple> 
<Strawberries are Red> 
+0

пожалуйста, вы можете разделить строку? – brk

+0

Вы пытаетесь удалить символ пробела или символ новой строки? – guest271314

ответ

1

Если вы пытаетесь удалить символы новой строки вы можете использовать RegExp/(>)(\n)/g заменить второй захват группы (\n) с заменой пустой строкой ""

var str = `<Apple is red> 
 
<Grapes - Purple> 
 
<Strawberries are Red>`; 
 

 
console.log(`str:${str}`); 
 
var res = str.replace(/(>)(\n)/g, "$1"); 
 
console.log(`res:${res}`);

+0

Спасибо. Нет места. Это всего лишь линия. См. Мое редактирование для примера. – Becky

+0

Вы пытаетесь удалить разрыв строки? – guest271314

+0

Как и в моем правлении. Я хочу, чтобы результат был таким: '<Виноград - фиолетовый><Клубника красная>' – Becky

1

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

str.replace(/>\s/g, '>') 

Демо:

console.log(`<Apple is red> 
 
<Grapes - Purple> 
 
<Strawberries are Red>`.replace(/>\s/g, '>'))

+0

Я думаю, что '(> \ s *)' было бы более подходящим. Поскольку оно будет соответствовать всем пробелам after, '' ' – Rambler

+0

@Rambler. Строка OP содержит только одно пробельное пространство после'> '. –

+0

@ Gothdo Спасибо. После '>' разрывов строк и пробелов нет. См. Мое редактирование для exmaple. – Becky

0

использовать следующий подход:

var str = 'some> text > the end>', 
 
    replaced = str.replace(/(\>)\s+/g, "$1"); 
 

 
console.log(replaced);

+0

В чем разница между вами и ответом 'Gothdo'? – Becky

+0

@ Becky, ты странный. Ты сказал: «Хорошо выглядит», сначала - ты передумал – RomanPerekhrest

0
  1. Вы должны использовать м флаг/на вашем шаблоне регулярного выражения

  2. Вы должны использовать $ 1 символ группы захвата на вашей замены текста

    var text = '<Apple is red>\r\n<Grapes - Purple>\r\n<Strawberries are Red>'; 
    var regex = /(>)\s*[\n]/gm; 
    var strippedText = text.replace(regex,'$1'); 
    
+0

Спасибо. В чем разница между '(/ (>) (\ n)/g)' и '/ (>) \ s * [\ n]/gm'? – Becky

+1

Я обновил свое предложенное регулярное выражение./gm - это глобальный и многострочный поиск. –

Смежные вопросы