Languages
[Edit]
PL

JavaScript - jak podzieli─ç ci─ůg znaków przez znak nowej linii?

0 points
Created by:
Dirask Community
5610

W tym artykule przyjrzymy si─Ö temu, jak podzieli─ç ci─ůg znak├│w na oddzielne wiersze.

Szybki przegl─ůd:

  • Rozwi─ůzanie dla Linux i Windows:
// ONLINE-RUNNER:browser;

var text = '1\r\n2\r\n3';
var lines = text.split(/\r?\n/); //  \r\n  or  \n

console.log(lines);
  • Rozwi─ůzanie dla wszystkich system├│w operayjnych:
// ONLINE-RUNNER:browser;

var text = '1\r\n2\r\n3';
var lines = text.split(/\r\n|\n\r|\n|\r/); //  \r\n  ,  \n\r  ,  \n  or  \r

console.log(lines);

Poniżej przedstawiono opis problemu i przykłady, aby zobaczyć, jak to działa w praktyce.

1. Om├│wienie problemu

R├│┼╝ne systemy operacyjne maj─ů r├│┼╝ne nowe symbole linii.

Istnieje kilka najcz─Ö┼Ťciej u┼╝ywanych nowych separacji wierszy:

\nMultics, Unix i systemy Unixowe (Linux, macOS, FreeBSD, AIX, Xenix, etc.), BeOS, Amiga, RISC OS, i inne.
\r\nAtari TOS, Microsoft Windows, DOS (MS-DOS, PC DOS, etc.), DEC TOPS-10, RT-11, CP/M, MP/M, OS/2, Symbian OS, Palm OS, Amstrad CPC, i wi─Ökszo┼Ť─ç innych wczesnych system├│w operacyjnych innych ni┼╝ Unix i IBM.
\rMaszyny 8-bitowe Commodore (C64, C128), Acorn BBC, ZX Spectrum, TRS-80, seria Apple II, Oberon, klasyczny Mac OS , MIT Lisp Machine i OS-9
\n\rbuforowane wyj┼Ťcie tekstowe Acorn BBC i RISC OS

Źródło: https://en.wikipedia.org/wiki/Newline

2. Uniwersalny przykład podziału nowych linii

To podej┼Ťcie dzia┼éa we wszystkich systemach operacyjnych.┬áPrezentowany przyk┼éad pokazuje operacj─Ö rozdzielania na oddzielne wiersze na tek┼Ťcie mieszanym.

// ONLINE-RUNNER:browser;

var LINE_EXPRESSION = /\r\n|\n\r|\n|\r/g; // wa┼╝na jest kolejno┼Ť─ç symboli w wyra┼╝eniu

var text = 'line 1\n' +
    'line 2\r' +
    'line 3\r\n' +
    'line 4\n\r' +
    'line 5';

var lines = text.split(LINE_EXPRESSION);

console.log(lines);

Uwaga: kolejno┼Ť─ç symboli w wyra┼╝eniu jest bardzo wa┼╝na, aby zapobiec rozbijaniu┬ási─Ö na nowe symbole linii, takie jak┬á\r\n┬álub┬á\n\r.

załóżmy, że mamy odpowiedź protokołu HTTP:

HTTP/1.1 200 OK\r\nContent-Length: 25\r\nContent-Type: text/html\r\n\r\nHello world!\nJaki┼Ť tekst...

dla┬á\n┬álub┬á\r┬ána pocz─ůtku┬ázmiennej┬áLINE_EXPRESSION mogli┼Ťmy uzyska─ç inn─ů liczb─Ö nowych linii po podziale.

3. Microsoft Windows new lines splitting example

// ONLINE-RUNNER:browser;

var text = 'line 1\r\n' +
    'line 2\r\n' +
    'line 3\r\n' +
    'line 4\r\n' +
    'line 5';

var lines = text.split('\r\n');

console.log(lines);

Systemy:┬á┬áAtari TOS,┬áMicrosoft Windows┬á, DOS (┬áMS-DOS┬á, PC DOS itp.), DEC TOPS-10, RT-11, CP / M, MP / M, OS / 2, Symbian OS, Palm OS, Amstrad CPC i wi─Ökszo┼Ť─ç innych wczesnych system├│w operacyjnych innych ni┼╝ Unix i firm innych ni┼╝ IBM.

4. Przykład podziału nowych linii w systemach Unix / Linux

// ONLINE-RUNNER:browser;

var text = 'line 1\n' +
    'line 2\n' +
    'line 3\n' +
    'line 4\n' +
    'line 5';

var lines = text.split('\n');

console.log(lines);

Systemy: systemy  Multics, Unix i uniksopodobne ( Linux , macOS , FreeBSD , AIX, Xenix itp.), BeOS, Amiga, RISC OS i inne.

5. Klasyczny przykład podziału nowych linii w systemie Mac OS / OS-9

// ONLINE-RUNNER:browser;

var text = 'line 1\r' +
    'line 2\r' +
    'line 3\r' +
    'line 4\r' +
    'line 5';

var lines = text.split('\r');

console.log(lines);

Systemy:  8-bitowe maszyny Commodore (C64, C128), Acorn BBC, ZX Spectrum, TRS-80, seria Apple II, Oberon, klasyczny Mac OS , MIT Lisp Machine i OS-9.

Native Advertising
­čÜÇ
Get your tech brand or product in front of software developers.
For more information Contact us
Dirask - we help you to
solve coding problems.
Ask question.

ÔŁĄ´ŞĆ­čĺ╗ ­čÖé

Join