Kezdőoldal » Számítástechnika » Programozás » Pascal: szövegfelbontásra...

Pascal: szövegfelbontásra (string, szóközök mentén) van valami egyszerűbb-praktikusabb mód? (bővebben lent)

Figyelt kérdés

Olyan megoldás van, ami az általam írtnál praktikusabban működik, figyel arra is, ha pl. adott sor szóközzel kezdődik, üres sorokat nem tesz be?

Az általam írt esetén utolsó szó kimarad, pedig a hátultesztelős ciklus miatt le kellene hogy fussson.

Fájlból szeretnék szöveget beolvasni és a szóközök mentén kinyerni a szavaka, amiket string tömbbe szeretnék tenni.

A tömbbe helyezést meg tudom csinálni, nem azért maradt ki mintha nem tudnám, nekem a legnagyobb kihívás inkább csak a "hibamentes felbontás".

program felbontas;


var

f : text;

s, s2 : string;

poz : byte;


begin

assign(f,'probalkozas');

reset(f);

while not eof (f) do

begin

ReadLn(f, s);

if length (s) > 0 then

begin

repeat

poz:=pos(' ',s);

s2 := copy(s, 1, poz);

delete(s, 1, poz);

WriteLn(s2);

until poz = 0;

end;

end;

close(f);

end.



2017. jan. 8. 19:54
1 2 3
 21/28 anonim ***** válasza:

"Mondtam, hogy nem érted"

Éppen ezért futsz már megint bele az érvelési hibába. ;(

2017. jan. 9. 01:56
Hasznos számodra ez a válasz?
 22/28 SimkoL ***** válasza:

Értsd már meg te tökéletlen, hogy tabaki-nak szólt az egész, mert 'megcélzott' a válaszában és az egész egy kis ellenkezés.

Pascal-ról, Delphi-ről meg a szép kódolásról mesélj még nekem, iszom a szavaidat :)

2017. jan. 9. 02:04
Hasznos számodra ez a válasz?
 23/28 A kérdező kommentje:
Nagyon köszönöm a megvalósításokat.
2017. jan. 9. 07:18
 24/28 tabaki ***** válasza:

Ahogy a felaprított mesehősök szokták mondani a forrasztófüves műtétjük után:

„Be nagyot aludtam!”


Pedig ennél a szóváltásnál illett volna jelen lennem, ha már egyszer én kavartam. Elnézést kérek a kollégától, aki a védelmemre kelt, természetesen igaza van. Viszont SimkoL megjegyzése valóban egy hosszabb diskurzus része, amelyben meg őneki adok igazat abban, hogy a szigorúbb nyelvekre való gyúrás jegyében és az olvashatóbb kód érdekében nem árt az, ha néhány olyan szabályhoz is tartja magát az ember, amelyet a pascal egyébként nem követel meg. Szerintem ez hasznos játék, és SimkoL -- aki tudja, hogy igyekszem is tartani magam hozzá -- alappal pirított rám, amiért itt megfeledkeztem róla, amikor valami régi kódomból átemeltem egy részletet. Ha kérhetem, ennek az afférnak ne tulajdonítsatok a kelleténél nagyobb jelentőséget, és kivált ne morzsolgassátok egymást miatta(m).


Ehhez képest kissé elsikkadtak a C#-fan kolléga mókás állításai a „valódi nyelvről”, de ki tudja, lehet, hogy tényleg nem éri meg szót vesztegetni rá.

2017. jan. 9. 10:47
Hasznos számodra ez a válasz?
 25/28 anonim ***** válasza:

"Ehhez képest kissé elsikkadtak a C#-fan kolléga mókás állításai a „valódi nyelvről”, de ki tudja, lehet, hogy tényleg nem éri meg szót vesztegetni rá."


Nem sikkadtak el, csak már kiröhögtük magunkat az állításain, amúgy meg igazad van, tényleg nem érdemel szót egy ekkora marhaság.

2017. jan. 9. 11:23
Hasznos számodra ez a válasz?
 26/28 anonim ***** válasza:
Pászkáliában nincs regex? :O
2017. jan. 9. 18:42
Hasznos számodra ez a válasz?
 27/28 anonim ***** válasza:

Freepascal-hoz már van regexp:

* [link]

Delphi XE-ben is:

* [link]

* [link] Core

2017. jan. 9. 19:04
Hasznos számodra ez a válasz?
 28/28 anonim ***** válasza:

Regex támogatás van benne, ami bőven elég is.

Ha ennél több kell (vagy nem tudod megírni a saját libedet), akkor használj mondjuk perlt.

2017. jan. 9. 19:13
Hasznos számodra ez a válasz?
1 2 3

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!