Po prostu próbując zastąpić zwroty podwójnego wózka z pojedynczym powrociem wózka w JavaScript. Oto szczegóły:

Przeszukałem Google and Stos przepełnieniem na ten problem, a znalazłem kilka przykładów zastępowania jednego ciągu z innym, ale nie podwójnym powrocie wózka z powoływaniem pojedynczego karetki (zasadniczo eliminującym puste linie z ciągów). Występuję, że w tym przypadku może być pewna dziwność.

Oto przykład tego, czego potrzebuję:

Zastąpić:

Line 1
Line 2


Line 3

Line 4

Z:

Line 1
Line 2
Line 3
Line 4

Próbowałem następujących linii kodu (indywidualnie, nie wszystkie naraz):

stringReplace = stringReplace.replace(/\n\n/g, '\n');
stringReplace = stringReplace.replaceAll(/\n\n/g, '\n');
stringReplace = stringReplace.split('\n\n').join('\n');

Przykładem tego, co wprowadzam, to (cztery puste linie z rzędu):

Line 1
Line 2




Line 3
Line 4

Który zamienia się w (nadal dwie puste linie z rzędu):

Line 1
Line 2


Line 3
Line 4

Ale starałem się zastąpić zwrot z podwójnego powiernika z czymś całkowicie innym, w tym przypadku podwójny równy znak:

stringReplace = stringReplace.replace(/\n\n/g, '==');

Wchodzę:

Line 1




Line 2




Line 3


Line 4

Zgadnij co? Działa zgodnie z planem.

Line 1===
Line 2====
Line 3==
Line 4

Wszelkie pomysły, co się dzieje, ktoś? Dziękuję wszystkim!

0
Steve G. 21 listopad 2020, 02:29

1 odpowiedź

Najlepsza odpowiedź

Należy dopasować dwa lub więcej Newline (nie tylko

const input = `Line 1
Line 2




Line 3
Line 4`;

const output = input.replace(/\n{2,}/g, '\n');
console.log(output);

Inny sposób na napisanie: \n\n+ zamiast \n{2,} (Oba wzory są dopasowane do dwóch lub więcej Newlines)

2
CertainPerformance 20 listopad 2020, 23:31