Ebben a témakörben elmagyaráztuk, hogyan kell kiszámítani egy adott karakterlánc részkarakterláncát.
A részkarakterlánc egy karaktersorozaton belüli karaktersorozat. A Bash lehetőséget biztosít az információ kinyerésére magából a karakterláncból. A számjegyeket vagy egy adott karakterláncot többféle módszerrel is kivonhatja.
Például, 'Üdvözöljük a Javaponton.' az 'Üdvözöljük a Javaponton.'
Szintaxis
A részkarakterlánc kinyerésére szolgáló parancs egy beépített bash parancs, ezért nagyon jó a teljesítmény szempontjából.
Az alsztring kivonás szintaxisa a következőképpen definiálható:
${variable:offset:length}
ahol,
A változó az a változónév, amely egy karakterláncot tartalmaz.
Az eltolás a karakterlánc kinyerésének kezdőpontjának meghatározására szolgál.
A hosszúság az eltolástól végrehajtandó karakterek tartományának meghatározására szolgál.
Jegyzet:A hossz hozzárendelése nem kötelező. Ha a hosszúságot nem adjuk meg, akkor a karakterlánc vége az alkarakterlánc végének tekintendő.
Nézzük meg néhány példa segítségével egy részkarakterlánc kinyerésének koncepcióját:
1. példa: Különleges karakterek kivonása az elejétől kezdve
#!/bin/bash #Script to extract first 10 characters of a string echo 'String: We welcome you on Javatpoint.' str='We welcome you on Javatpoint.' echo 'Total characters in a String: ${#str} ' substr='${str:0:10}' echo 'Substring: $substr' echo 'Total characters in Substring: ${#substr} '
Kimenet
2. példa: Kivonat az adott karakterből
#!/bin/bash #Script to print from 11th character onwards str='We welcome you on Javatpoint.' substr='${str:11}' echo '$substr'
Kimenet
you on Javatpoint.
Itt a karakterlánc vége az alkarakterlánc végének tekinthető.
3. példa: Egyetlen karakter kinyerése
#!/bin/bash #Script to print 11th character of a String str='We welcome you on Javatpoint.' substr='${str:11:1}' echo '$substr'
Kimenet
y
4. példa: Az utolsó karakterek kinyerése
#!/bin/bash #Script to extract 11 characters from last str='We welcome you on Javatpoint.' substr='${str:(-11)}' echo '$substr'
Kimenet
Javatpoint.