
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.
|