Skip to content

Kaikki WordPressistä, web-kehityksestä — ja paljon muuta

Tekstilista taulukoksi: PHP, JavaScript, Python, Perl, JSON, SQL

Tekstilista taulukoksi: PHP, JavaScript, Python, Perl, JSON, SQL

Liitä sarake Excelistä, SQL-kyselyn tuloste tai yksinkertaisesti lista yksi arvo rivillä — saat valmiin taulukon oikein suojattuna seitsemälle muodolle. Kaikki lasketaan selaimessasi: listaa ei lähetetä minnekään eikä tallenneta mihinkään.

Pudota tähän .txt- tai .csv-tiedosto — se luetaan paikallisesti. Excelin tai Google Sheetsin sarakkeen voi liittää suoraan.
Arvojen käsittely

Sopii myös TypeScriptille. const varin sijaan: tällaisen muuttujan uudelleenmäärittely on virhe jo ennen suoritusta.

Liitä lista yllä — taulukko ilmestyy tähän.

Tiedot eivät poistu selaimestasi — laskenta tapahtuu paikallisesti eikä mitään lähetetä palvelimelle.

Mitä työkalu tekee kullekin arvolle

Rivistä tulee yksi taulukon alkio. Tarvittaessa rivin voi lisäksi jakaa pilkuista CSV-sääntöjen mukaan — silloin lainausmerkkien sisällä oleva pilkku pysyy osana arvoa. Sen jälkeen jokainen arvo suojataan, kullekin kielelle omalla tavallaan: PHP ja Perl yksinkertaisilla lainausmerkeillä — suojataan tasan kaksi merkkiä, kenoviiva ja itse lainausmerkki. PHP kaksinkertaisilla lainausmerkeillä — mukaan tulee dollarimerkki, muuten $HOME tekstissä sijoittaisi muuttujan arvon. Perl kaksinkertaisilla lainausmerkeillä — mukaan tulee vielä ät-merkki, koska Perlissä myös @list interpoloidaan. JavaScript, TypeScript ja Python — kenoviiva, lainausmerkki ja ohjausmerkit ohjaussarjoina. JSON — tiukasti RFC 8259:n mukaan, kielen omin keinoin. SQL — heittomerkki kahdennetaan, kuten standardi vaatii. CSV — RFC 4180:n mukaan: lainausmerkkeihin otetaan vain kenttä, jossa on pilkku, lainausmerkki tai reunavälilyönti. Luku tulostuu ilman lainausmerkkejä vain silloin, kun se pysyy samana lukuna Number()-kierroksen jälkeen. Tuotekoodi 007, nollalla alkava puhelinnumero, 1e5, 0x1F ja yli 2⁵³:n kokonaisluku eivät läpäise tarkistusta ja pysyvät merkkijonoina.

Miten tämä eroaa vanhoista listamuuntimista

Klassinen arrayThis tarkistaa isNaN()-kutsulla, «onko tämä luku», eikä suojaa mitään muuta kuin itse lainausmerkin. Tästä seuraa neljä hiljaista vauriota, jotka näkyvät vasta generoitua koodia ajettaessa: Polku C:\Users\admin kaksinkertaisissa lainausmerkeissä tuottaa sulkeutumattoman merkkijonon — kenoviiva aloittaa siinä ohjaussarjan. Tyhjä rivi läpäisee isNaN():n lukuna ja päätyy koodiin paljaana pilkkuna: ["a", , "b"]. Tuotekoodi 007 muuttuu PHP:ssä oktaaliluvuksi ja JavaScriptin strict-tilassa syntaksivirheeksi. Windowsista kopioitu lista raahaa jokaisen arvon perässä näkymätöntä vaununpalautusmerkkiä. Täällä kaikki neljä tapausta on hoidettu, ja Perliksi merkitty tuloste on oikeasti Perliä: lista kaarisulkeissa eikä array()-rakenne, jota Perlissä ei ole.

Usein kysytyt kysymykset