Slovník | Vyhledávání | Mapa webu
 
Základy informatiky pro biologyVýpočetní matematické systémy Jak pracovat s MATLABem Textové řetězce Základní manipulace s řetězci

Logo Matematická biologie

Základní manipulace s řetězci

Převod textového řetězce na číselný vektor můžeme provést pomocí funkce double(), přičemž jednotlivým znakům se přiřadí jejich kód (0 - 255) podle ASCII tabulky. Zpětný převod číselného vektoru na znakový řetězec lze provést použitím funkce char().

 

 Znaky se dělí do několika skupin. Znaky s kódem menším než 32 mají speciální význam: konec řádku (kódy 10 a 13), konec stránky (kód 12), tabulátor (kód 8) apod. Znaky s kódy vyššími se běžně zobrazují na obrazovce, přičemž znaky s kódy většími než 127 se mohou lišit podle operačního systému nebo nastaveného jazyka.
V MATLABu existuje několik funkcí k testování typů objektů, jejich název zpravidla začíná slabikou is* a výstupem je hodnota 1, pokud objekt daného typu nabývá, v opačném případě je výstupem 0. Celý seznam těchto funkcí lze zobrazit příkazem doc is*, níže je uveden seznam nejpoužívanějších z nich.

isletter(a) testuje, zda jsou jednotlivé složky proměnné a písmena ('A' - 'Z', 'a' - 'z')
isspace(a) testuje, zda je proměnná a mezerového typu (mezera - kód 32, tabulátor apod.)
isnumeric(a) testuje, zda je a číselná proměnná
isstrprop(a, 'type') testuje, zda je proměnná a daného typu, argument 'type' je textový řetězec specifikující daný typ: 'alpha' (písmena), 'alphanum' (číslice a písmena), 'digit' (číslice), 'wspace' (mezera), 'lower' (malá písmena), 'upper' (velká písmena), další viz doc isstrprop

Převod čísla na řetězec je možné pomocí funkce num2str() nebo int2str(), která číslo zaokrouhlí. Opačný převod
provádí funkce str2num(), je možno použít i funkci eval().

Řetězec dané délky obsahující pouze mezery lze vytvořit pomocí funkce blanks(n), kde argument n označuje počet mezer. Funkce deblank(a) naopak odstraní mezery z konce textového řetězce a.

     převod na číselný vektor odpovídající kódům ASCII tabulky

    odstranění mezer

 

 
vytvořil Institut biostatistiky a analýz Lékařské fakulty Masarykovy univerzity