Backspace keresése reguláris kifejezéssel?
A regexp-ek használatát tanulom, és ezt találtam:
[\b] Matches a backspace (U+0008). You need to use square brackets if you want to match a literal backspace character
Nem értem, hogy ezt milyen esetben használják. Milyen az a string amiben megtalálható a backspace karakter? Az nem visszatörlést jelent?
#include <stdio.h>
int main()
{
printf("Hello, World!");
printf("\b\b\basd\n");
return 0;
}
pl itt van \b
Vonatkoztass el attól, hogy egy program (operációs rendszer) milyen jelentést ad a #8-as karakternek.
A kódnak a program ad jelentést, használhatnánk két szó elválasztására: "Alma"#8"Korte"
Ha így lenne tárolva a memóriában, nem tűnne el az 'Alma' szó utolsó karaktere.
A másik pedig az, hogy azt írod visszatörlés, de ez csak akkor igaz, ha egy megfelelő programban vagy. Pl. szövegszerkesztőben vagy parancssorban.
Kiírásnál nem töröl, csak visszalép. Ha a fenti kódban több \b lenne, akkor a korábbi Hello, World! vége nem tűnne el, ha csak eggyel lenne több \b, akkor a felkiáltójel látszódna.
"Milyen az a string amiben megtalálható a backspace karakter?"
Értem, hogy mi a problémád a backspace karakterrel. Te egyenlőséget teszel a string és a monitorra kiírt szöveg közé. Ez nagyon intuitív, ámde nem helyes string koncepció. Amikor a monitorra kiírunk dolgokat, akkor ugye tudunk tenni tab-ot, space-et, sortörést, és persze tudunk törölni. Ezeket a nem nyomtatott karaktereket szokás white space karaktereknek mondani, mert nyomtatásban nem látszanak. De, ha belegondolsz, akkor ezek valójában (logikai szempontból) nem különböznek azoktól a karakterektől, amiket nyomtatunk/megjelenítünk. Ennek megfelelően egy még ki nem nyomtatott string-ben lehetséges őket eltárolni, majd, amikor egy print utasítással kiírod a képernyőre, akkor nem mondjuk az "a" betű jelenik meg, hanem egy tab, vagy egy sortörés, vagy egyet visszaugrik a kurzor.
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
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!