text=new String ("textový obsah proměnné");anebo jak už jste asi zvyklí:
text="textový obsah proměnné";výsledek je identický.
metoda | její funkce |
charAt(index); | udává znak na pozici index - pozor, první písmeno má index 0 |
---|---|
charCodeAt(index); | udává hodnotu znaku na daném indexu jako 16-bitové číslo |
concat("retezec1","retezec2"); | připojuje řetězce v závorkách k cílené stringové proměnné a vrací délku nově vzniklé proměnné |
fromCharCode(ASCII); | převede ASCII kód na normální znak |
indexOf("výraz",start_index); | hledá daný výraz v proměnné a vrací index jeho prvního výskytu. Hledání začíná od znaku na pozici start_index (pokud se neuvede, program začne hledat od začátku), pokud není řetězec nalezen, metoda vrátí -1 |
lastIndexOf | stejné jako předchozí příkaz, pouze vrací index posledního výskytu |
slice(od,do); | vyřízne ze stringové proměnné znaky mezi dvěma zadanými indexy text="lexicon"; a=text.slice(1,3); //a má hodnotu "ex" |
split(oddelovac,limit); | rozděluje proměnnou do pole, přičemž první buňka pole (a každá další) končí, když program narazí v řetězci na oddělovač. Limit je nepovinná hodnota, udává maximální počet buněk. myString = "N,I,R,V,A,N,A"; pole=myString.split(","); |
substr(2,5); | od třetího znaku dále (=od indexu 2) vyřízne 5 znaků |
substring(1,3) | vyřízne znaky mezi prvním a třetím indexem |
toLowerCase | z velkých písmen udělá malá písmena |
toUpperCase | z malých písmen udělá velká |
vlastnost | její funkce |
length | vrací délku řetězce |
Opět jednoduchý příklad. na hlavní scéně vytvořte dvě textové pole. Inputové, do kterého budete psát hledaný výraz (pojmenujte jej "hledat") a poté dynamické, kde bude text, ve kterém se daný výraz bude hledat ("pole"). Dále bude potřeba nějaké (jakékoliv) tlačítko.
Do prvního snímku vložte tento skript:
pismo="strasne moc textu, ktery bude prohledavan"; _root.pole.text=_root.pole.text.toLowerCase();
Nejdříve musíte zadeklarovat proměnnou, kterou bude dynamické pole vypisovat (dynamickému poli zadejte do Var _root.pismo). Další příkaz konvertuje v "poli" všechna velká písmena na malá. Není to nijak důležité, ale aspoň uvidíte, jak příkaz funguje... Další skript přidejte k tlačítku:
on (release) { index=_root.pismo.indexOf(_root.hledat.text); Selection.setFocus(_root.pole); Selection.setSelection(index, index+_root.hledat.text.length); }
Nejdůležitější je druhý řádek skriptu. _root.pismo.indexOf hledá v proměnné "pismo" řetězec, který se načte z inputového pole - _root.hledat.text. Pokud najde daný řetězec, vyselektuje ho. K tomu slouží další dva řádky.
Bližší informace o těchto příkazech jsou uvedeny v Objekt Selection. Nyní stačí pouze pochopit, že příkaz setSelection vybere část textu. S výběrem pak začne na "index" a skončí na "index+délka hledaného výrazu", takže skutečně opravdu vybere pouze hledaný výraz.
Pokud ovšem hledaný výraz nenajde, bude index 0 a vyselektuje se prvních x písmen v textu (respektive vyselektuje se jich tolik, jaká je délka hledaného výrazu). Pokud byste tomu chtěli zamezit, museli byste použít ještě nějakou podmínku.