Ovo je dokumentacijska podstranica za Modul:String. Sadrži informacije o uporabi, kategorijama i ostalom sadržaju koji nije dio izvorne stranice. |
Modul pruža osnovne operacije rada s tekstom.
Pogrješke u sintaksi modula postavit će stranicu s pogrješkom u kategoriju Kategorija:Pogreške u modulu String.
Sintaksa poziva: {{#invoke:Lua error in Modul:Separated_entries at line 26: attempt to call field 'getArgs' (a nil value).}}
Funkcije
globalni parametri
U svakoj od nižih funkcija možete koristiti i parametre:
- ignore_errors - ako je vrijednost postavljena na true ili 1, ako dođe do pogrješke, umjesto poruke o pogrješci prikazat će se prazni string ("").
- error_category - ako se dogodi pogrješka, stranica će biti postavljena u kategoriju zadanu ovim parametrom, umjesto u Kategorija:Pogreške u modulu String.
- no_category - ako je vrijednost postavljena na true ili 1, ako dođe do pogrješke, stranica se neće postaviti u kategoriju Kategorija:Pogreške u modulu String.
len
vraća duljinu stringa zadanog parametrom
{{#invoke:Lua error in Modul:Separated_entries at line 26: attempt to call field 'getArgs' (a nil value).}}-> 4- Razmaci na početku i kraju se ubrajaju u znakove:
{{#invoke:Lua error in Modul:Separated_entries at line 26: attempt to call field 'getArgs' (a nil value).}}-> 8
- Ako parametar sadrži znak jednakosti, potrebno je upotrijebiti parametar s:
{{#invoke:Lua error in Modul:Separated_entries at line 26: attempt to call field 'getArgs' (a nil value).}}-> 5
- Pri pozivu parametrom s, razmaci na početku i kraju se ne ubrajaju:
{{#invoke:Lua error in Modul:Separated_entries at line 26: attempt to call field 'getArgs' (a nil value).}}-> 6
sub
vraća znakove između zadane početne i krajnje pozicije
{{#invoke:Lua error in Modul:Separated_entries at line 26: attempt to call field 'getArgs' (a nil value).}}- ili
{{#invoke:Lua error in Modul:Separated_entries at line 26: attempt to call field 'getArgs' (a nil value).}}- Primjeri:
{{#invoke:Lua error in Modul:Separated_entries at line 26: attempt to call field 'getArgs' (a nil value).}}→ abcdefghi{{#invoke:Lua error in Modul:Separated_entries at line 26: attempt to call field 'getArgs' (a nil value).}}→ abcdefghi{{#invoke:Lua error in Modul:Separated_entries at line 26: attempt to call field 'getArgs' (a nil value).}}→ cdefghi{{#invoke:Lua error in Modul:Separated_entries at line 26: attempt to call field 'getArgs' (a nil value).}}→ cdefghi{{#invoke:Lua error in Modul:Separated_entries at line 26: attempt to call field 'getArgs' (a nil value).}}→ cd{{#invoke:Lua error in Modul:Separated_entries at line 26: attempt to call field 'getArgs' (a nil value).}}→ cd
- Negativna vrijednost parametara interpretira se kao brojenje od kraja
{{#invoke:Lua error in Modul:Separated_entries at line 26: attempt to call field 'getArgs' (a nil value).}}→ ghi{{#invoke:Lua error in Modul:Separated_entries at line 26: attempt to call field 'getArgs' (a nil value).}}→ bcdefg
sublength
vraća znakove definirane početnom pozicijom i duljinom
{{#invoke:Lua error in Modul:Separated_entries at line 26: attempt to call field 'getArgs' (a nil value).}}- ili
{{#invoke:Lua error in Modul:Separated_entries at line 26: attempt to call field 'getArgs' (a nil value).}}- Primjeri:
{{#invoke:Lua error in Modul:Separated_entries at line 26: attempt to call field 'getArgs' (a nil value).}}→ abcdefghi{{#invoke:Lua error in Modul:Separated_entries at line 26: attempt to call field 'getArgs' (a nil value).}}→ defghi{{#invoke:Lua error in Modul:Separated_entries at line 26: attempt to call field 'getArgs' (a nil value).}}→ defg
match
vraća dio teksta koji se poklapa sa zadanim uzorkom
{{#invoke:Lua error in Modul:Separated_entries at line 26: attempt to call field 'getArgs' (a nil value).}}- ili
{{#invoke:Lua error in Modul:Separated_entries at line 26: attempt to call field 'getArgs' (a nil value).}}- gdje je
- s - puni tekst u kojem tražimo uzorak
- pattern - uzorak ili string koji tražimo u punom tekstu
- start - indeks u punom tekstu od kojeg započinjemo pretragu [zadano 1]
- match - ako imamo isto poklapanje više puta u tekstu, definira broj poklapanja kojeg vraćamo (npr. broj 2 za drugo poklapanje od početka). Ako se unese negativan broj, funkcija tada broji od kraja teksta (npr. -1 vraća zadnje poklapanje od početka) [zadano 1]
- plain - definira oblik uzorka: vrijednost true shvaća uzorak kao čisti tekst, dok vrijednost false shvaća uzorak kao inačicu regularnog izraza koji koristi jezik Lua. Pogledajte detalje ovdje
- nomatch - definira vrijednost ili tekst ako uzorak nije pronađen. Ako ništa nije zadano, vraća "String Module Error: Match not found"
- Primjeri:
{{#invoke:Lua error in Modul:Separated_entries at line 26: attempt to call field 'getArgs' (a nil value).}}→ 123{{#invoke:Lua error in Modul:Separated_entries at line 26: attempt to call field 'getArgs' (a nil value).}}→ 123{{#invoke:Lua error in Modul:Separated_entries at line 26: attempt to call field 'getArgs' (a nil value).}}→ 23{{#invoke:Lua error in Modul:Separated_entries at line 26: attempt to call field 'getArgs' (a nil value).}}→ 3{{#invoke:Lua error in Modul:Separated_entries at line 26: attempt to call field 'getArgs' (a nil value).}}→ 456{{#invoke:Lua error in Modul:Separated_entries at line 26: attempt to call field 'getArgs' (a nil value).}}→ 123{{#invoke:Lua error in Modul:Separated_entries at line 26: attempt to call field 'getArgs' (a nil value).}}→ %d+{{#invoke:Lua error in Modul:Separated_entries at line 26: attempt to call field 'getArgs' (a nil value).}}→ String Module Error: Match not found{{#invoke:Lua error in Modul:Separated_entries at line 26: attempt to call field 'getArgs' (a nil value).}}→ Nisu pronađene brojčane vrijednosti{{#invoke:Lua error in Modul:Separated_entries at line 26: attempt to call field 'getArgs' (a nil value).}}→{{#invoke:Lua error in Modul:Separated_entries at line 26: attempt to call field 'getArgs' (a nil value).}}→ 12001200
pos
vraća jedan znak sa zadane pozicije
{{#invoke:Lua error in Modul:Separated_entries at line 26: attempt to call field 'getArgs' (a nil value).}}- ili
{{#invoke:Lua error in Modul:Separated_entries at line 26: attempt to call field 'getArgs' (a nil value).}}- Napomene:
- Negativna vrijednost parametra interpretira se kao brojenje od kraja umjesto od početka
- Primjeri
{{#invoke:Lua error in Modul:Separated_entries at line 26: attempt to call field 'getArgs' (a nil value).}}→ d{{#invoke:Lua error in Modul:Separated_entries at line 26: attempt to call field 'getArgs' (a nil value).}}→ c{{#invoke:Lua error in Modul:Separated_entries at line 26: attempt to call field 'getArgs' (a nil value).}}→ String Module Error: String index out of range
str_find
funkcija je dostupna zbog nazadne kompatibilnosti s postojećim kodom, no ne preporuča se njeno korištenje. Umjesto nje molim koristite funkciju find opisanu niže.
find
vraća poziciju teksta koji se poklapa sa zadanim uzorkom
{{#invoke:Lua error in Modul:Separated_entries at line 26: attempt to call field 'getArgs' (a nil value).}}- ili
{{#invoke:Lua error in Modul:Separated_entries at line 26: attempt to call field 'getArgs' (a nil value).}}- gdje je
- source - puni tekst u kojem tražimo uzorak
- target - uzorak ili string koji tražimo u punom tekstu
- start - indeks u punom tekstu od kojeg započinjemo pretragu [zadano 1]
- plain - definira oblik uzorka: vrijednost true shvaća uzorak kao čisti tekst, dok vrijednost false shvaća uzorak kao inačicu regularnog izraza koji koristi jezik Lua. Pogledajte detalje ovdje
- Primjeri:
{{#invoke:Lua error in Modul:Separated_entries at line 26: attempt to call field 'getArgs' (a nil value).}}→ 4{{#invoke:Lua error in Modul:Separated_entries at line 26: attempt to call field 'getArgs' (a nil value).}}→ 4{{#invoke:Lua error in Modul:Separated_entries at line 26: attempt to call field 'getArgs' (a nil value).}}→ 0{{#invoke:Lua error in Modul:Separated_entries at line 26: attempt to call field 'getArgs' (a nil value).}}→ 4{{#invoke:Lua error in Modul:Separated_entries at line 26: attempt to call field 'getArgs' (a nil value).}}→ 4{{#invoke:Lua error in Modul:Separated_entries at line 26: attempt to call field 'getArgs' (a nil value).}}→ 4
Ustring patterns
Patterns in the ustring functions use the same syntax as the [[<tvar name=anchor>#Patterns</tvar>|String library patterns]]. The major difference is that the character classes are redefined in terms of w:Unicode character property|Unicode character properties:
%a: represents all characters with General Category "Letter".%c: represents all characters with General Category "Control".%d: represents all characters with General Category "Number, decimal digit".%l: represents all characters with General Category "Lowercase Letter".%p: represents all characters with General Category "Punctuation".%s: represents all characters with General Category "Separator", plus tab, linefeed, carriage return, vertical tab, and form feed.%u: represents all characters with General Category "Uppercase Letter".%w: represents all characters with General Category "Letter" or "Decimal Number".%x: adds fullwidth character versions of the hex digits.
Like in [[<tvar name=anchor1>#Patterns</tvar>|String library patterns]], <tvar name=anchor2>%A, %C, %D, %L, %P, %S, %U, %WPredložak:IntPredložak:Int%X</tvar> here represent the complementary set ("all characters without given General Category").
In all cases, characters are interpreted as Unicode characters instead of bytes, so ranges such as <tvar name=1>[0-9]</tvar>, patterns such as <tvar name=2>%b«»</tvar>, and quantifiers applied to multibyte characters will work correctly. Empty captures will capture the position in code points rather than bytes.
Predložak:Red: Unlike [[<tvar name=anchor1>#Patterns</tvar>|String library patterns]], Ustring library patterns have a maximum length of <tvar name=1>10.000</tvar> bytes. If the pattern exceeds this length, then the Ustring function will throw an error. Because the String library has its own maximum of <tvar name=2>32</tvar> captures (unlike the Ustring library), it is therefore impossible to use a pattern which exceeds both limits, as it will be incompatible with both libraries.
<cite id="endnote_9 ASCII characters, <tvar name=11>$, +, <, =, >, ^, `, |, ~</tvar>, can be matched by <tvar name=10>%p</tvar> in the string library but not in the ustring library, as Unicode classifies them as Symbols rather than Punctuation." style="font-style: normal;">[[#ref_9 ASCII characters, <tvar name=11>$, +, <, =, >, ^, `, |, ~</tvar>, can be matched by <tvar name=10>%p</tvar> in the string library but not in the ustring library, as Unicode classifies them as Symbols rather than Punctuation.|^]]