2016-01-04 2 views
0

Я пытаюсь заменить все умножения на одну строку в строке в javascript, но никто не работает. Ниже приведен мой код:Заменить многострочную одиночную строку в строке + Javascript

var str=inputList.replace(/\n/gm,"\n"); 

ввод, например.

abc,def <3 newlines> 


xyz <1 newline> 
opp 

Ожидаемый результат:

abc,def <1 newline> 
xyz 
opp 

Фактический выход:

abc,def<3 newlines> 


xyz<1 newline> 
opp 

Любая помощь приветствуется.

+2

Вы заменяете каждое появление одного '\ n' _with_ one' \ n' ... – CBroe

+0

Ваша цель очень неясно, и тот факт, что вы неправильно используете функцию фрагмента кода (это должно помочь протестировать ваш код), не помогает –

+1

' var str = inputList.replace (/ \ n +/gm, "\ n"); '???? Я путаюсь с окончательным результатом ... Итак, если есть только один, чем вы его замените без разрывов строк? – epascarello

ответ

0

Вы соответствие только один и заменить его с одним. Я считаю, что если вы просто добавите + после \n, чтобы соответствовать одному или нескольким. Если вы не хотите соответствовать только одному, используйте {2,}, чтобы соответствовать двум или более.

var str=inputList.replace(/\n+/g,"\n"); 
          ^

или

var str=inputList.replace(/\n{2,}/g,"\n"); 
          ^^^^ 
0

Вы заменяете \n на \n в своем коде.

Вместо делать:

var str = inputList.replace(/\n/gm, ""); 
+0

Я считаю, что OP пытается заменить 'TWO \ n или больше' одним' \ n'. –

+0

Зачем использовать модификатор '/ m'? –

+2

@JeremyThille Я считаю, что мы должны подождать, пока у вас есть правильный вопрос, прежде чем угадать необходимость. –

1

(Edit: упрощенная версия благодаря stribizhev)

Если вы пытаетесь заменить два или более \n с одним, попробуйте следующее:

var str = inputList.replace(/\n{2,}/gm,"\n"); 

{2,} означает 2 или более

+0

Нет необходимости экранировать '\ n' как' \\ n', а группа захвата здесь избыточна. И модификатор '/ m' также является избыточным. –

+1

так что вы предлагаете? '/ \ n {2,}/gm' также работает, если это то, что вы имеете в виду –

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