Řetězce jsou stavebními kameny všech programovacích jazyků a široce se používají k provádění mnoha úkolů. MATLAB je vysoce výkonný programovací jazyk a umožňuje nám provádět mnoho operací s řetězci. Jednou z takových operací je nalezení řetězce v jiném řetězci, který lze snadno provést pomocí vestavěného MATLABu strfind() funkce.
Pokud nejste obeznámeni s fungováním strfind() Tento blog vás naučí, jak najít řetězec v jiném řetězci pomocí této funkce v MATLABu.
Proč je důležité najít řetězec v jiném řetězci?
Hledání řetězce v jiném řetězci je důležité, protože:
-
- Může vám pomoci při hledání textu v dokumentu
- Může být užitečné pro ověřování dat
- Manipulace s řetězci
- Kontrola chyb
Jak najít řetězec v jiném řetězci v MATLABu?
Nalezení řetězce v jiném řetězci je běžně používaná operace s řetězcem, kterou lze snadno provést v MATLABu pomocí strfind() funkce. Tato funkce nám umožňuje prohledávat řetězec v jiném řetězci, protože provádí vyhledávání rozlišující malá a velká písmena. Přijme řetězec a podřetězec (který chcete hledat) jako povinné argumenty a vrátí řádkový vektor s indexy výskytu hledaného podřetězce v daném řetězci.
Syntax
The strfind() syntaxe funkce je uvedena níže:
k = strfind ( ulice, postel )
k = strfind ( ulice, postel, 'ForceCellOutput' ,cellOutput )
Tady:
Funkce strfinding (str, postel) hledá podřetězec stejný uvnitř řetězce str a vrátí řádkový vektor k mající indexy výskytů prvního znaku pat. Pokud tato funkce nemůže najít daný podřetězec v řetězci, vrátí an prázdný vektor [] .
-
- Pokud řetězec str je pole znaků, strfind() vrátí vektor s typem double.
- Pokud řetězec str je pole buněk znakových vektorů, the strfind() vrátí pole buněk vektorů typu double.
Funkce k = strfind(str, pat,‘ForceCellOutput‘,cellOutput) umožňuje násilně vrátit pole buněk, když cellOutput je pravdivý, i když řetězec str je pole znaků.
Příklad
Zvažte několik příkladů, abyste pochopili implementaci strfind() funkce v MATLABu.
Příklad 1: Jak najít řetězec v jiném řetězci v MATLABu pomocí funkce strfind(str,pat)?
Tento příklad najde podřetězec v daném řetězci str za použití strfind() funkce v MATLABu.
str = 'Vítejte v linuxhintu' ;dokonce = 'na' ;
k = strfind ( ulice, postel )
Příklad 2: Jak najít více řetězců v jiném řetězci v MATLABu pomocí funkce strfind(str,pat)?
V tomto příkladu najdeme dva řetězce v daném poli buněk str pomocí strfind() funkce v MATLABu.
str = { 'Vítejte v linuxhintu' } ;dokonce = ( 'na' | 'náznak' ) ;
k = strfind ( ulice, postel )
Příklad 3: Jak najít podřetězec v jiném řetězci v MATLABu pomocí funkce strfind(str, pat, ‚ForceCellOutput‘, cellOutput)?
V tomto kódu MATLABu najdeme podřetězec v daném řetězci str za použití strfind(str,pat,’ForceCellOutput’,cellOutput) funkce v MATLABu.
str = 'Vítejte v linuxhintu' ;dokonce = 'na' ;
k = strfind ( ulice, postel, 'ForceCellOutput' , skutečný )
Závěr
Řetězce jsou velmi důležitou součástí všech programovacích jazyků. MATLAB také podporuje mnoho operací s řetězci a mezi nimi je jedna taková operace nalezení podřetězce v řetězci, kterou lze snadno provést pomocí vestavěného strfind() funkce. Tato příručka zjistila, jak najít řetězec v jiném řetězci v MATLABu pomocí strfind() funkce poskytnutím příkladů různých případů.