Porovnávané verzie

Kľúč

  • Tento riadok sa pridal
  • Riadok je odstránený.
  • Formátovanie sa zmenilo.

Funkcia %RxReplaceStr




Funkcia

Funkcia nahradí vo vstupnom texte vopred definovaný počet substringov, ktoré vyhovujú zadanému regulárnemu výrazu, druhým substringom.

Deklarácia


Blok kódu
languageesl
themeConfluence
INTTEXT %RxReplaceStr(
   TEXT in text,
   TEXT in regExp,
   TEXT	in subStr,
   INT	in from := 01,
   INT	in count := 0
 )


Parametre


textText, v ktorom sa bude nahrádzať.
regExpRegulárny výraz, ktorý bude nahradený vo vstupnom parametri text.
substrSubstring, ktorý má nahradiť nájdený substring zodpovedajúci regulárnemu výrazu.
fromIndex, od ktorého sa má prehľadávať vstupný text (0 1 = od začiatku) (nepovinný vstupný parameter).
countPočet výskytov, ktoré majú byť nahradené (0 = všetky výskyty) (nepovinný vstupný parameter).


Príklad

Funkcia vráti string, v ktorom bude nahradených count výskytov regulárneho výrazu regExp substringom substr, pričom prehľadávať a nahrádzať sa bude od indexu from. Ak je niektorý zo vstupných parametrov neplatný, funkcia vráti nedefinovanú hodnotu.

 



Blok kódu
languageesl
themeRDark
%RxFind%RxReplaceStr("text nejaky text", "[a-z]+", 1"(X)")					;vráti hodnotu 1
%RxFind("123texttext: (X) (X) (X)
%RxReplaceStr("text nejaky text", "[a-z]+", "(X)", 1, 0)					;vráti hodnotu 4
%RxFindtext: (X) (X) (X)
%RxReplaceStr("text nejaky text", "[a-z]+", 5"(X)", _first1, _last2)		;vráti hodnotu 6, _first = 6, _last = 11
%RxFind text: (X) (X) text
%RxReplaceStr("text nejaky text", "[a-z]+", "(X)", 2, 1)		;vráti text: t(X) nejaky text
%RxReplaceStr("text nejaky text", "[a-z]+", 20"(X)", _first5, _last1)		;vráti hodnotu -1,_first = -1,_last = -1
%RxFindtext: text (X) text
%RxReplaceStr("text nejaky text", "[a-z]+", 20"(X)", _first20, _last0)			;vráti nedefinovanú hodnotu (dĺžka regulárneho výrazu je 0), _first = 0, _last = 0text: text nejaky text
%RxReplaceStr("text nejaky text", "[a-z]+", "(X)", 0, 20)		;vráti text: (X) (X) (X)