Vítejte na stránkách věnovaných nástroji OpenRefine,
na kterých najdete všechny potřebné a důležité informace.
openrefine@getfound.cz

Funkce na řetězcích (String functions)

0 Sdílení 0 Sdílení ×

Části:

Základy

Testování řetězce

Konverze obsahu buněk

Odsekávání částí

Subřetězce

Nalezení a nahrazení

Parsování a dělení

Kódování a hash

Základy

length(string s)

Navrací délku daného řetězce. Tedy v případě length(“příklad”) bude výsledkem funkce 7.

Testování řetězce

startsWith(string s, string sub)

Boolean funkce, která vrací TRUE pokud zadaný řetezec s začíná řetezcem sub. Například výsledkem startsWith(“příklad”, “pří”) bude TRUE, jelikož “příklad” začíná na “pří”. Výsledkem startsWith(“překlad”, “pří”) bude FALSE, jelikož “překlad” nezačíná na “pří”.

 

endsWith(string s, string sub)

Opačná funkce k funkci startsWith, analyzující konec řetězce. Výsledkem endsWith(“příklad”, “lad”) tedy bude TRUE, jelikož řetězec “příklad” končí na “lad”. Výsledkem endsWith(“příklad”, “fil”) bude FALSE, jelikož řetězec “příklad” nekončí na “fil”.

 

contains(string s, string sub)

Boolean funkce, která slouží jako indikátor, zda v řetězci s existuje subřetězec sub. contains(“příklad”, “íkl”) vrátí TRUE, jelikož řetězec “příklad” obsahuje řetězec “íkl”.

 

Úpravy řetězců

Konverze obsahu buněk

toLowercase(string s)

Převede obsah řetězce s na malá písmena.

toUppercase(string s)

Převede obsah řetězce s na velká písmena.

toTitlecase(string s)

Převede obsah řetězce s na velká písmena na začátku každého slova.

 

Odsekávání částí

trim(string s)

Trim odsekne na začátku a konci řetězce mezery, pokud nějaké nalezne. Je skvělou funkcí k utřízení a nachází se i mezi přizpůsobenými transormacemi.

Například trim(“  příklad”) vrátí hodnotu “příklad” (tedy bez úvodních mezer).

 

chomp(string s, string sep)

Chomp (česky žvýkání) je funkce, která zadanému řetězci s v případě shody odsekne řetězec sep. Tedy například chomp(“příklady”, “dy”) navrátí hodnotu příkla.

 

Subřetězce

substring(s, number from, optional number to)

Navrací subřetězec dle zadaného rozsahu (od parametru from po parametr to). Například substring(“příklad”, 2, 4) navrací řetezec ík, jelikož je od druhého do čtvrtého písmena daného řetězce.

slice(s, number from, optional number to)

Viz. substring (stejná funkce s jiným názvem).

get(o, number or string from, optional number to)

Viz. substring (stejná funkce s jiným názvem).

 

Nalezení a nahrazení

indexOf(string s, string sub)

Navrací pozici řetezce sub v řetězci s nebo -1 v případě, že řetezec sub nebyl v řetězci s nalezen.  Například indexOf(“příklad”, “kl”) navrátí 3, ale indexOf(“příklad”, “lk”) navrátí -1.

lastIndexOf(string s, string sub)

Navrací poslední pozici řetězce sub v řetezci s. Tedy pokud se řetězec sub vyskytuje v řetězci s vícekrát, navrátí jeho poslední pozici. Například lastIndexOf(“filip”, “i”) navrátí 3. V případě, že není řetězec nalezen, navrací funkce -1.

replace(string s, string f, string r)

Nahrazení textového řetezce f v řetezci s řetězcem r. Například replace(“příklad”, “pří”, “pře”) nám navrátí hodnotu “překlad”, jelikož vymění řetezec “pří” za řetězec “pře”.

replaceChars(string s, string f, string r)

Funkce, podobná replace s tím rozdílem, že místo nahrazení řetezce f nahrazuje za každé písmeno v řetezci f daným písmenem řetezce r. Například replaceChars(“příklad”, “íd”, “*-”) navrátí řetězec př*kla-, jelikož nahradí první písmeno odpovídající f (což je “í”) prvním písmenem, odpovídajícím r (což je *) a stejně tak s druhým písmenem.

 

match(string s, regexp p)

Pokusí se porovnat řetězec s s regulárním výrazem p a případně navrátit odpovídající pole hodnot regulárnímu výrazu. Například match("230.22398, 12.3480", /\.(\d\d\d+)/) navrátí hodnotu 3480.

 

Parsování a dělení

toNumber(s)

Převede řetězec s na číslo.

split(s, sep)

Rozdělí s separátorem sep na pole hodnot. Například split(“Filip, Pavel, Petr, Adam”, “,”) navrací pole hodnot “Filip”, “Pavel”, “Petr”, “Adam”.

 

splitByLengths(string s, number n1, number n2, …)

Rozdělení řetězce dle zadaných indexů na části. Indexy značí v jaké části se má text rozdělit. Například splitByLengths(“Příkladová věta”, 2, 4, 5) navrací pole [ "Př", "íkla", "dová " ].

 

smartSplit(string s, optional string sep)

Chytřejší dělení řetezců. V případě, že není zadán separátor, hledá čárku nebo tečku jako oddělovač řetězce.

 

splitByCharType(s)

Vrátí pole řetězců, rozdělených do skupin dle typu řetezce s (shlukování na základ velikosti písmen,…). Například pro řetězec “CTFinder” jsou návratové hodnoty jendotilvých částí pole následující:

  • splitByCharType("CTFinder")[0] navrátí řetězec “CTF”

  • splitByCharType("CTFinder")[1] navrátí řetězec “inder”

 

partition(string s, string or regex frag, optional boolean omitFragment)

Participace rozděluje řetezec na odpovídající fragment a zbývající text. Návratovou hodnotou je pole hodnot, složené z textu před fragmentem, fragmentu a textu za fragmentem.

Například partition(“Příkladová věta na ukázku”, “věta”) navrací pole [ "Příkladová ", "věta", " na ukázku" ].

 

rpartition(string s, string or regex frag, optional boolean omitFragment)

Stejná funkce jako partition, s tím rozdílem, že hledá poslední odpovídající frgment (v případě, že jich je více).

 

Kódování a hash

diff(o1, o2, optional string timeUnit)

Pro řetězce vrací index, kde se dané řetězce liší. Pro datum vrací rozdíl dat mezi sebou.

 

escape(string s, string mode)

Převede obsah řetězce do požadovaného formátu (html, url, xml, csv, javascript).

unescape(string s, string mode)

Převede obsah řetězce z požadovaného formátu do plain textu.

md5(string s)

Navrací zahashovaný obsah řetězce s  v MD5.

sha1(string s)

Navrací zahashovaný obsah řetězce s  v SHA-1.

phonetic(string s, optional string encoding)

Navrací fonetické kódování řetězce s. Kódování je možno změnit (přednastaveno DoubleMetaphone).

reinterpret(string s, string encoder)

Navrací řetězeč s, reinterpretovaný v daném kódování. Seznam použitelných kódování naleznete zde.

fingerprint(string s)

Navrací odvozený řetězec od s, který se více blíží kanonickému tvaru (je užitečný pro hledání shluků řetězců).

ngram(string s, number n)

N-gram navrací pole slov n-gramu z řetězce s.

ngramFingerprint(string s, number n)

Navrací n-gram fingerprint řetězce s.

unicode(string s)

Navrací pole indexů znaků v řetezci s, odpovídajících jejich indexu v UNICODE.

unicodeType(string s)

Navrací pole typů znaků řetězce s.

 

© 2013 Openrefine
0 Sdílení Twitter 0 Google+ 0 Facebook 0 0 Sdílení ×