Pomoč LibreOffice 24.8
Storitev String ponuja zbirko metod za obdelavo nizov. S temi metodami lahko:
potrdite veljavnost vsebine niza;
oblikujete nize z obrezovanjem, poravnavanjem ali oblivanjem njihove vsebine;
uporabite regularne izraze za iskanje in zamenjevanje podnizov;
izvedete algoritme zgoščevalne funkcije nad nizi itn.
Storitev String prepozna naslednje prelome vrstic:
| Simbolično ime | Število ASCII | 
|---|---|
|              Pomik v novo vrstico | 
             10  | 
Storitev String prepozna naslednje prazne znake (angl. whitespace):
| Simbolično ime | Število ASCII | 
|---|---|
|              Presledek | 
             32  | 
Sledi seznam ubežnih zaporedij, ki jih lahko uporabite v nizih.
| Ubežno zaporedje | Simbolično ime | Število ASCII | 
|---|---|---|
| 
             \n  |              Pomik v novo vrsto | 
             10  | 
Če želite, da se ubežni niz "\n" interpretira kot navaden niz, enostavno uporabite "\\n" namesto "\" & Chr(10).
Znaki, ki so v zbirki znakov Unicode Character Database določeni kot “Other” ali “Separator”, veljajo za nenatisljive znake.
Kontrolni znaki (koda ASCII <= 0x1F) prav tako veljajo za nenatisljive.
Za uporabo narekovajev v nizih uporabite \' (enojni narekovaj) ali \" (dvojni narekovaj). Primer:
Niz [n\'i\'z] tolmači kot [n'i'z]
Niz [n\"i\"z] tolmači kot [n"i"z]
Pred uporabo storitve ScriptForge.String je potrebno naložiti knjižnico ScriptForge na sledeč način:
      GlobalScope.BasicLibraries.loadLibrary("ScriptForge")
  Z nalaganjem knjižnice ustvarite predmet SF_String, ki ga lahko uporabite za klicanje metod v storitvi String.
Naslednji odlomki kode kažejo tri načine klica metod storitve String (metoda Capitalize služi kot primer):
    Dim s as String : s = "abc def"
    s = SF_String.Capitalize(s) ' Abc Def
  
    Dim s as String : s = "abc def"
    Dim svc : svc = SF_String
    s = svc.Capitalize(s) ' Abc Def
  
    Dim s as String : s = "abc def"
    Dim svc : svc = CreateScriptService("String")
    s = svc.Capitalize(s) ' Abc Def
  Spodnji odlomek kode ilustrira klicanje metod iz storitve String v skriptih Python. Metoda IsIPv4 služi kot primer.
    from scriptforge import CreateScriptService
    svc = CreateScriptService("String")
    ip_address = '192.168.0.14'
    svc.IsIPv4(ip_address) # True
  Predmet SF_String zagotavlja naslednje lastnosti za skripte Basic:
| Ime | Samo za branje | Opis | 
|---|---|---|
| sfCR | Da | Prehod na začetek vrstice (CF): Chr(13) | 
| sfCRLF | Da | Prehod na začetek vrstice (CF) + pomik v novo vrstico (LF): Chr(13) & Chr(10) | 
| sfLF | Da | Pomik v novo vrsto (LF): Chr(10) | 
| sfNEWLINE | Da | Prehod na začetek vrstice + pomik v novo vrsto, ki je lahko: | 
| sfTAB | Da | Vodoravni tabulator: Chr(9) | 
Zgornje lastnosti lahko uporabite za identifikacijo ali vstavljanje ustreznih znakov v nize. Primer: pomik v novo vrsto (LF) lahko zamenja SF_String.sfLF.
Prvi argument večine metod je niz, ki bo obravnavan. Vedno je podan s sklicem in se ne spreminja. Metode, ko sta Capitalize in Escape, vrnejo po izvajanju novi niz.
Ker ima Python vgrajeno izčrpno podporo za nize, je večina metod storitve String na voljo le za skripte Basic. Metode, ki so na voljo za Basic in Python, so: HashStr, IsADate, IsEmail, IsFileName, IsIBAN, IsIPv4, IsLike, IsSheetName, IsUrl, SplitNotQuoted in Wrap.
Prvi znak vsake besede v vhodnem nizu zamenja z njegovo veliko črko.
svc.Capitalize(inputstr: str): str
inputstr: niz, katerega besede bodo dobile velike začetnice.
    Dim sName as String : sName = "john smith"
    Dim sCapitalizedName as String
    sCapitalizedName = SF_String.Capitalize(sName)
    MsgBox sCapitalizedName 'John Smith
  Prešteje število pojavitev podniza ali regularnega izraza v nizu.
svc.Count(inputstr: str, substring: str, [isregex: bool], [casesensitive: bool]): int
inputstr: vhodni niz, ki bo preučen.
substring: podniz regularnega izraza, ki bo uporabljen pri iskanju.
isregex: uporabite True, če je podniz regularni izraz (privzeto = False)
casesensitive: pri primerjanju lahko velja razlika med velikimi in malimi črkami ali ne (privzeta vrednost je False).
    'Prešteje pojavitve podniza "or" v vhodnem nizu (vrne 2)
    MsgBox SF_String.Count("Lorem ipsum dolor sit amet, consectetur adipiscing elit.", "or", CaseSensitive := False)
    'Prešteje besede z zgolj malimi črkami (vrne 7)
    MsgBox SF_String.Count("Lorem ipsum dolor sit amet, consectetur adipiscing elit.", "\b[a-z]+\b", IsRegex := True, CaseSensitive := True)
  Če želite izvedeti več o regularnih izrazih, si oglejte dokumentacijo Python na spletni strani Regular Expression Operations (v angl.).
Vrne True, če se niz konča z navedenim podnizom.
Funkcija vrne False, ko ima niz oz. podniz dolžino = 0 ali ko je podniz daljši od niza.
svc.EndsWith(inputstr: str, substring: str, [casesensitive: bool]): bool
inputstr: niz, ki bo preverjen.
substring: podniz, ki bo preiskan na koncu inputstr.
casesensitive: pri primerjanju lahko velja razlika med velikimi in malimi črkami ali ne (privzeta vrednost je False).
    'Vrne True, ker je metoda klicana s privzeto vrednostjo CaseSensitive = False
    MsgBox SF_String.EndsWith("abcdefg", "EFG")
    'Vrne False zaradi vrednosti parametra CaseSensitive
    MsgBox SF_String.EndsWith("abcdefg", "EFG", CaseSensitive := True)
  Pretvori prelome vrstic in tabulatorje v vhodnem nizu v njim ustrezna ubežna zaporedja (\\, \n, \r, \t).
svc.Escape(inputstr: str): str
inputstr: niz, ki bo pretvorjen.
    'Vrne niz "abc\n\tdef\\n"
    MsgBox SF_String.Escape("abc" & Chr(10) & Chr(9) & "def\n")
  Zamenja tabulatorske znake Chr(9) s presledki, da oponaša vedenje tabulatorskih mest.
Če najde prelom vrstice, se začne nova vrstica in števec znakov se ponastavi.
svc.ExpandTabs(inputstr: str, [tabsize: int]): str
inputstr: niz, ki bo razširjen.
tabsize: ta parameter se uporablja za določitev tabulatorskih mest z uporabo formule: TabSize + 1, 2 * TabSize + 1 ... N * TabSize + 1 (privzeto = 8)
    Dim myText as String
    myText = "100" & SF_String.sfTAB & "200" & SF_String.sfTAB & "300" & SF_String.sfNEWLINE & _
             "X"  & SF_String.sfTAB & "Y" & SF_String.sfTAB & "Z"
    MsgBox SF_String.ExpandTabs(myText)
    '100     200     300
    'X       Y       Z
  Zamenja vse nenatisljive znake v vhodnem nizu z danim znakom.
svc.FilterNotPrintable(inputstr: str, [replacedby: str]): str
inputstr: niz, ki bo preiskan.
replacedby: nič, eden ali več znakov, ki bodo zamenjali vse nenatisljive znake v inputstr (privzeto = "")
    Dim LF : LF = Chr(10)
    Dim myText as String
    myText = "àén ΣlPµ" & LF & " Русский" & "\n"
    MsgBox SF_String.FilterNotPrintable(myText)
    ' "àén ΣlPµ Русский\n"
  V nizu najde podniz, ki se ujema s podanim regularnim izrazom.
svc.FindRegex(inputstr: str, regex: str, [start: int], [casesensitive: bool], [forward: bool]): str
inputstr: niz, ki bo preiskan.
regex: regularni izraz.
start: položaj v nizu, kjer se bo začelo iskanje. Ta parameter je podan s sklicem, zato po izvajanju vrednost start kaže na prvi znak najdenega podniza. Če ni zadetka med podnizi, bo start nastavljen na 0.
casesensitive: pri primerjanju lahko velja razlika med velikimi in malimi črkami ali ne (privzeta vrednost je False).
forward: določa smer iskanja. Če je True, se iskanje pomakne naprej. Če je False, se iskanje pomakne nazaj (privzeta vrednost je True)
Če je forward = True, mora biti pri prvi iteraciji start enak 1, če pa je forward = False, potem mora biti start enak Len(inputstr)
    Dim lStart As Long : lStart = 1
    Dim result as String
    result = SF_String.FindRegex("abCcdefghHij", "C.*H", lStart, CaseSensitive := True)
    MsgBox lStart & ": " & result
    '3: CcdefghH
  V zgornjem primeru lahko uporabite novo vrednost lStart za nadaljnje iskanje istega vhodnega niza, če pri naslednji iteraciji nastavite parameter Start na lStart + Len(result).
Zgoščevalne funkcije se uporabljajo v kriptografskih algoritmih, za digitalne podpise, overitvene kode sporočil, zaznavanje manipulacij, prstne odtise, kontrolne vsote (preverjanje integritete sporočil), tabele zgoščenih vrednosti, hrambo gesel in še mnogo drugega.
Metoda HashStr vrne rezultat zgoščevalne funkcije, izvedene na podanem nizu z uporabo navedenega algoritma, in sicer kot niz šestnajstiških števk, zapisan z malimi črkami.
Podprti algoritmi zgoščevalne funkcije so: MD5, SHA1, SHA224, SHA256, SHA384 in SHA512.
svc.HashStr(inputstr: str, algorithm: str): str
inputstr: niz za zgoščevanje. Predvideva se, da je kodiran v UTF-8. Algoritem zgoščevalne funkcije obravnava niz kot tok bajtov.
algorithm: eden od podprtih algoritmov, navedenih zgoraj, podan kot niz.
    MsgBox SF_String.HashStr("œ∑¡™£¢∞§¶•ªº–≠œ∑´®†¥¨ˆøπ‘åß∂ƒ©˙∆˚¬", "MD5")
    ' c740ccc2e201df4b2e2b4aa086f35d8a
  
    svc = CreateScriptService("String")
    bas = CreateScriptService("Basic")
    a_string = "œ∑¡™£¢∞§¶•ªº–≠œ∑´®†¥¨ˆøπ‘åß∂ƒ©˙∆˚¬"
    hash_value = svc.HashStr(a_string, "MD5")
    bas.MsgBox(hash_value)
    # c740ccc2e201df4b2e2b4aa086f35d8a
  Kodira vhodni niz v znakovnih kodah HTML, pri čemer zamenja posebne znake z njihovimi nadomestnimi kodami &.
Primer: znak é bo zamenjan z é ali ekvivalentno številsko kodo HTML.
svc.HtmlEncode(inputstr: str): str
inputstr: niz, ki bo kodiran.
    MsgBox SF_String.HtmlEncode("<a href=""https://a.b.com"">From α to ω</a>")
    ' "<a href="https://a.b.com">From α to ω</a>"
  Vrne True, če je vhodni niz veljaven datum glede na navedeno obliko datuma.
svc.IsADate(inputstr: str, [dateformat: str]): bool
inputstr: niz, ki bo preverjen. Če je prazen, metoda vrne False.
dateformat: oblika datuma, podana kot niz. Možne vrednosti so "YYYY-MM-DD" (privzeto), "DD-MM-YYYY" in "MM-DD-YYYY"
Pomišljaj (-) lahko zamenjate s piko (.), poševnico (/) ali presledkom.
Če oblika ni veljavna, metoda vrne False.
    MsgBox SF_String.IsADate("2020-12-31", "YYYY-MM-DD") ' True
  Ta metoda preveri obliko vhodnega niza brez izvajanja specifičnih koledarskih preverjanj. Zato ne preveri vhodni niz glede prestopnih let ali mesecev s 30 ali 31 dnevi. Za te potrebe si oglejte vgrajeno funkcijo IsDate.
Spodnji primer prikazuje razliko med metodo IsADate (ScriptForge) in (vgrajeno) funkcijo IsDate.
    Dim myDate as String : myDate = "2020-02-30"
    MsgBox SF_String.IsADate(myDate, "YYYY-MM-DD") 'True
    MsgBox IsDate(myDate) ' False
  
    svc = CreateScriptService("String")
    s_date = "2020-12-31"
    result = svc.IsADate(s_date) # True
  Vrne True, če so vsi znaki v nizu abecedni.
Abecedni znaki so znaki, določeni v zbirki znakov Unicode Character Database kot Letter.
svc.IsAlpha(inputstr: str): bool
inputstr: niz, ki bo preverjen. Če je prazno, metoda vrne False.
    MsgBox SF_String.IsAlpha("àénΣlPµ") ' True
    MsgBox SF_String.IsAlpha("myVar3") ' False
  Vrne True, če so vsi znaki v nizu abecedni, števke ali "_" (podčrtaji). Prvi znak ne sme biti števka.
svc.IsAlphaNum(inputstr: str): bool
inputstr: niz, ki bo preverjen. Če je prazno, metoda vrne False.
    MsgBox SF_String.IsAlphaNum("_ABC_123456_abcàénΣlPµ") ' True
    MsgBox SF_String.IsAlphaNum("123ABC") ' False
  Vrne True, če so vsi znaki v nizu znaki ASCII.
svc.IsAscii(inputstr: str): bool
inputstr: niz, ki bo preverjen. Če je prazno, metoda vrne False.
    MsgBox SF_String.IsAscii("a%?,25") ' True
    MsgBox SF_String.IsAscii("abcàénΣlPµ") ' False
  Vrne True, če so vsi znaki v nizu števke.
svc.IsDigit(inputstr: str): bool
inputstr: niz, ki bo preverjen. Če je prazno, metoda vrne False.
    MsgBox SF_String.IsDigit("123456") ' True
    MsgBox SF_String.IsDigit("_12a") ' False
  Vrne True, če je niz veljaven e-poštni naslov.
svc.IsEmail(inputstr: str): bool
inputstr: niz, ki bo preverjen. Če je prazno, metoda vrne False.
    MsgBox SF_String.IsEmail("first.last@something.org") ' True
    MsgBox SF_String.IsEmail("first.last@something.com.br") ' True
    MsgBox SF_String.IsEmail("first.last@something.123") ' False
  
    svc = CreateScriptService("String")
    bas = CreateScriptService("Basic")
    bas.MsgBox(svc.IsEmail("first.last@something.org")) # True
    bas.MsgBox(svc.IsEmail("first.last@something.com.br")) # True
    bas.MsgBox(svc.IsEmail("first.last@something.123")) # False
  Vrne True, če je niz veljavno ime datoteke v danem operacijskem sistemu.
svc.IsFileName(inputstr: str, [osname: str]): bool
inputstr: niz, ki bo preverjen. Če je prazno, metoda vrne False.
osname: ime operacijskega sistema, kot niz. Možne vrednosti so "WINDOWS", "LINUX", "MACOSX" in "SOLARIS".
Privzeta vrednost je ime trenutnega operacijskega sistema, na katerem se izvaja skript.
    MsgBox SF_String.IsFileName("/home/user/Documents/a file name.odt", "LINUX") ' True
    MsgBox SF_String.IsFileName("C:\home\a file name.odt", "LINUX") ' False
    MsgBox SF_String.IsFileName("C:\home\a file name.odt", "WINDOWS") ' True
  
    svc = CreateScriptService("String")
    bas = CreateScriptService("Basic")
    bas.MsgBox(svc.IsFileName("/home/user/Documents/a file name.odt", "LINUX")) # True
    bas.MsgBox(svc.IsFileName(r"C:\home\a file name.odt", "LINUX")) # False
    bas.MsgBox(svc.IsFileName(r"C:\home\a file name.odt", "WINDOWS")) # True
  Vrne True, če so vsi znaki v nizu šestnajstiške števke.
svc.IsHexDigit(inputstr: str): bool
inputstr: niz, ki bo preverjen. Če je prazno, metoda vrne False.
Šestnajstiške števke imajo lahko predponi "0x" in "&H".
    MsgBox SF_String.IsHexDigit("&H00FF") ' True
    MsgBox SF_String.IsHexDigit("08AAFF10") ' True
    MsgBox SF_String.IsHexDigit("0x18LA22") ' False
  Vrne True, če je niz veljavna mednarodna številka bančnega računa IBAN (International Bank Account Number). Primerjava ne razlikuje med malimi in velikimi črkami.
svc.IsIBAN(inputstr: str): bool
inputstr: niz, ki bo preverjen. Če je prazno, metoda vrne False.
Vrne True, če niz vsebuje veljavno številko IBAN.
    ' Basic
    MsgBox SF_String.IsIBAN("BR15 0000 0000 0000 1093 2840 814 P2") ' True
  
    # Python
    result = svc.IsIBAN("BR15 0000 0000 0000 1093 2840 814 P2") # True
  Vrne True, če je niz veljaven naslov IP(v4).
svc.IsIPv4(inputstr: str): bool
inputstr: niz, ki bo preverjen. Če je prazno, metoda vrne False.
    MsgBox SF_String.IsIPv4("192.168.1.50") ' True
    MsgBox SF_String.IsIPv4("192.168.50") ' False
    MsgBox SF_String.IsIPv4("255.255.255.256") ' False
  
    svc = CreateScriptService("String")
    bas = CreateScriptService("Basic")
    bas.MsgBox(svc.IsIPv4("192.168.1.50")) # True
    bas.MsgBox(svc.IsIPv4("192.168.50")) # False
    bas.MsgBox(svc.IsIPv4("255.255.255.256")) # False
  Vrne True, če celotni vhodni niz ujema z danim vzorcem, ki vsebuje nadomestne znake.
svc.IsLike(inputstr: str, pattern: str, [casesensitive: bool]): bool
inputstr: niz, ki bo preverjen. Če je prazno, metoda vrne False.
pattern: vzorec kot niz. Nadomestna znaka sta:
"?" predstavlja poljuben posamezni znak;
"*" predstavlja nič, enega ali več poljubnih znakov.
casesensitive: pri primerjanju lahko velja razlika med velikimi in malimi črkami ali ne (privzeta vrednost je False).
    MsgBox SF_String.IsLike("aAbB", "?A*") ' True
    MsgBox SF_String.IsLike("C:\a\b\c\f.odb", "?:*.*") ' True
    MsgBox SF_String.IsLike("name:host", "?*@?*") ' False
    MsgBox SF_String.IsLike("@host", "?*@?*") ' False
  
    svc = CreateScriptService("String")
    bas = CreateScriptService("Basic")
    bas.MsgBox(svc.IsLike("aAbB", "?A*")) # True
    bas.MsgBox(svc.IsLike(r"C:\a\b\c\f.odb", "?:*.*")) # True
    bas.MsgBox(svc.IsLike("name:host", "?*@?*")) # False
    bas.MsgBox(svc.IsLike("@host", "?*@?*")) # False
  Vrne True, če so vsi znaki v nizu male črke. Znaki izven abecede so prezrti.
svc.IsLower(inputstr: str): bool
InputStr: niz, ki bo preverjen. Če je prazno, metoda vrne False.
    MsgBox SF_String.IsLower("abc'(-xy4z") ' True
    MsgBox SF_String.IsLower("1234") ' True
    MsgBox SF_String.IsLower("abcDefg") ' False
  Vrne True, če so vsi znaki v nizu natisljivi.
svc.IsPrintable(inputstr: str): bool
inputstr: niz, ki bo preverjen. Če je prazno, metoda vrne False.
    MsgBox SF_String.IsPrintable("àén ΣlPµ Русский") ' True
    MsgBox SF_String.IsPrintable("First line." & Chr(10) & "Second Line.") ' False
  Vrne True, če se celotni vhodni niz ujema z danim regularnim izrazom.
svc.IsRegex(inputstr: str, regex: str, [casesensitive: bool]): bool
inputstr: niz, ki bo preverjen. Če je prazno, metoda vrne False.
regex: regularni izraz. Če je prazno, metoda vrne False.
casesensitive: pri primerjanju lahko velja razlika med velikimi in malimi črkami ali ne (privzeta vrednost je False).
        MsgBox SF_String.IsRegex("aAbB", "[A-Za-z]+") ' True
        MsgBox SF_String.IsRegex("John;100", "[A-Za-z]+;[0-9]+") ' True
        MsgBox SF_String.IsRegex("John;100;150", "[A-Za-z]+;[0-9]+") ' False
      Vrne True, če je vhodni niz veljavno ime delovnega lista za Calc.
svc.IsSheetName(inputstr: str): bool
inputstr: niz, ki bo preverjen. Če je prazno, metoda vrne False.
    MsgBox SF_String.IsSheetName("1àbc + ""déf""") ' True
    MsgBox SF_String.IsSheetName("[MySheet]") ' False
  
    svc = CreateScriptService("String")
    bas = CreateScriptService("Basic")
    bas.MsgBox(svc.IsSheetName("1àbc + ""déf""")) # True
    bas.MsgBox(svc.IsSheetName("[MySheet]")) # False
  Ime delovnega lista ne sme vsebovati znakov [ ] * ? : / \ ali znak ' (apostrof) kot prvi ali zadnji znak.
Vrne True, če je prvi znak vsake besede velika črka, drugi znaki pa so male črke.
svc.IsTitle(inputstr: str): bool
inputstr: niz, ki bo preverjen. Če je prazno, metoda vrne False.
    MsgBox SF_String.IsTitle("This Is The Title Of My Book") ' True
    MsgBox SF_String.IsTitle("This is the Title of my Book") ' False
    MsgBox SF_String.IsTitle("Result Number 100") ' True
  Vrne True, če so vsi znaki v nizu velike črke. Znaki izven abecede so prezrti.
svc.IsUpper(inputstr: str): bool
inputstr: niz, ki bo preverjen. Če je prazno, metoda vrne False.
    MsgBox SF_String.IsUpper("ABC'(-XYZ") ' True
    MsgBox SF_String.IsUpper("A Title") ' False
  Vrne True, če je niz veljaven absolutni naslov URL (za angl. Uniform Resource Locator). Podprti so le protokoli http, https in ftp.
svc.IsUrl(inputstr: str): bool
inputstr: niz, ki bo preverjen. Če je prazno, metoda vrne False.
    MsgBox SF_String.IsUrl("http://foo.bar/?q=Test%20URL-encoded%20stuff") ' True
    MsgBox SF_String.IsUrl("www.somesite.org") ' False
  
    svc = CreateScriptService("String")
    bas = CreateScriptService("Basic")
    bas.MsgBox(svc.IsUrl("http://foo.bar/?q=Test%20URL-encoded%20stuff")) # True
    bas.MsgBox(svc.IsUrl("www.somesite.org")) # False
  Vrne True, če so vsi znaki niza presledki.
svc.IsWhitespace(inputstr: str): bool
inputstr: niz, ki bo preverjen. Če je prazno, metoda vrne False.
    MsgBox SF_String.IsWhitespace("    ") ' True
    MsgBox SF_String.IsWhitespace(" " & Chr(9) & Chr(10)) ' True
    MsgBox SF_String.IsWhitespace("") ' False
  Vrne vhodni niz, poravnan sredinsko.
Vodilni in sledilni presledki so odstranjeni in preostali znaki so zapolnjeni levo in desno do navedene dolžine length z znakom padding.
svc.JustifyCenter(inputstr: str, [length: int], [padding: str]): str
inputstr:niz, ki ga želite sredinsko poravnati. Če je prazen, metoda vrne prazen niz.
length: dolžina izhodnega niza (privzeta vrednost je dolžina vhodnega niza).
Če je navedena dolžina krajša od sredinsko poravnanega vhodnega niza, je vrnjeni niz obrezan.
padding: posamezni znak, ki bo uporabljen za razmik do vsebine (privzeta vrednost je presledek ASCII " ").
    MsgBox SF_String.JustifyCenter("Title", Length := 11) ' "   Title   "
    MsgBox SF_String.JustifyCenter("    ABCDEF", Padding := "_") ' "__ABCDEF__"
    MsgBox SF_String.JustifyCenter("A Long Title", Length := 5) ' "ong T"
  Vrne vhodni niz, poravnan levo.
Vodilni in sledilni presledki so odstranjeni in preostali znaki so zapolnjeni desno do navedene dolžine length z znakom padding.
svc.JustifyLeft(inputstr: str, [length: int], [padding: str]): str
inputstr: niz, ki bo poravnan levo. Če je prazen, metoda vrne prazen niz.
length: dolžina izhodnega niza (privzeta vrednost je dolžina vhodnega niza).
Če je navedena dolžina krajša od levo poravnanega vhodnega niza, je vrnjeni niz obrezan.
padding: posamezni znak, ki bo uporabljen za razmik do vsebine (privzeta vrednost je presledek ASCII " ").
    MsgBox SF_String.JustifyLeft("Title", Length := 10) ' "Title     "
    MsgBox SF_String.JustifyLeft("    ABCDEF", Padding := "_") ' "ABCDEF____"
    MsgBox SF_String.JustifyLeft("A Long Title", Length := 5) ' "A Lon"
  Vrne vhodni niz, poravnan desno.
Vodilni in sledilni presledki so odstranjeni in preostali znaki so zapolnjeni levo do navedene dolžine length z znakom padding.
svc.JustifyRight(inputstr: str, [length: int], [padding: str]): str
inputstr: niz, ki bo poravnan desno. Če je prazen, metoda vrne prazen niz.
length: dolžina izhodnega niza (privzeta vrednost je dolžina vhodnega niza).
Če je navedena dolžina krajša od desno poravnanega vhodnega niza, je vrnjeni niz obrezan.
padding: posamezni znak, ki bo uporabljen za razmik do vsebine (privzeta vrednost je presledek ASCII " ").
    MsgBox SF_String.JustifyRight("Title", Length := 10) ' "     Title"
    MsgBox SF_String.JustifyRight("  ABCDEF  ", Padding := "_") ' "____ABCDEF"
    MsgBox SF_String.JustifyRight("A Long Title", Length := 5) ' "Title"
  Vrne vhodni niz v enojnih ali dvojnih narekovajih. Obstoječi narekovaji so ohranjeni nespremenjeni, vključno z vodilnimi in/ali sledilnimi narekovaji.
svc.Quote(inputstr: str, [quotechar: str]): str
inputstr: niz, ki bo odet v oklepaje.
quotechar: enojni (') ali dvojni (") narekovaj (privzeto).
    MsgBox SF_String.Quote("Text Value")
    ' "Text Value"
    MsgBox SF_String.Quote("Book Title: ""The Arabian Nights""", "'")
    ' 'Book Title: "The Arabian Nights"'
  Ta metoda je lahko uporabna pri pripravi polja niza, ki bo shranjen v datoteki, podobni CSV, ki zahteva, da so besedilne vrednosti podane v enojnih ali dvojnih narekovajih.
Zamenja vse pojavitve znakov, navedenih v parametru Before, z ustreznimi znaki, navedenimi v After.
Če je dolžina Before večja od dolžine After, bo preostale znake v Before zamenjal zadnji znak v After.
svc.ReplaceChar(inputstr: str, before: str, after: str): str
inputstr: vhodni niz, v katerem se bodo izvedle zamenjave.
before: niz z znaki, ki bodo poiskani v vhodnem nizu in zamenjani.
after: niz z novimi znaki, ki bodo zamenjali tiste, določene v before.
    ' Zamenja naglašene znake
    MsgBox SF_String.ReplaceChar("Protégez votre vie privée", "àâãçèéêëîïôöûüýÿ", "aaaceeeeiioouuyy")
    ' "Protegez votre vie privee"
    MsgBox SF_String.ReplaceChar("Protégez votre vie privée", "àâãçèéêëîïôöûüýÿ", "")
    ' "Protgez votre vie prive"
    MsgBox SF_String.ReplaceChar("àâãçèéêëîïôöûüýÿ", "àâãçèéêëîïôöûüýÿ", "aaaceeeeiioouuyy")
    ' "aaaceeeeiioouuyy"
  Storitev SF_String ponuja uporabne konstante (public) za latinične nize znakov, kar prikazuje spodnji primer:
    MsgBox SF_String.ReplaceChar("Protégez votre vie privée", SF_String.CHARSWITHACCENT, SF_String.CHARSWITHOUTACCENT)
    ' "Protegez votre vie privee"
  Vse pojavitve danega regularnega izraza nadomesti z novim nizom.
svc.ReplaceRegex(inputstr: str, regex: str, newstr: str, [casesensitive: bool]): str
inputstr: vhodni niz, v katerem se bodo izvedle zamenjave.
regex: regularni izraz.
newstr: nadomestni niz.
casesensitive: pri primerjanju lahko velja razlika med velikimi in malimi črkami ali ne (privzeta vrednost je False).
    MsgBox SF_String.ReplaceRegex("Lorem ipsum dolor sit amet, consectetur adipiscing elit.", "[a-z]", "x", CaseSensitive := True)
    ' "Lxxxx xxxxx xxxxx xxx xxxx, xxxxxxxxxxx xxxxxxxxxx xxxx." (vsako malo črko zamenja "x")
    MsgBox SF_String.ReplaceRegex("Lorem ipsum dolor sit amet, consectetur adipiscing elit.", "\b[a-z]+\b", "x", CaseSensitive := False)
    ' "x x x x x, x x x." (vsako besedo zamenja "x")
  V nizu zamenja nekatere ali vse pojavitve polja nizov s poljem novih nizov.
svc.ReplaceStr(inputstr: str, oldstr: str, newstr: str, [occurrences: int], [casesensitive: bool]): str
inputstr: vhodni niz, v katerem se bodo izvedle zamenjave.
oldstr: posamezen niz ali polje nizov. Nizi ničelne dolžine so prezrti.
newstr: nadomestni niz ali polje nadomestnih nizov.
Če je oldstr polje, bo vsako pojavitev katerega od elementov oldstr zamenjal newstr.
Če sta oldstr in newstr polji, se zamenjave izvršijo ena za drugo do meje UBound(newstr).
Če ima oldstr več vnosov kot newstr, preostale elemente v oldstr zamenja zadnji element v newstr.
occurrences: največje število zamenjav. Privzeta vrednost je 0, kar pomeni, da bodo vse pojavitve zamenjane.
Če je oldstr polje, se parameter occurrence izračuna ločeno za vsak element polja.
casesensitive: pri primerjanju lahko velja razlika med velikimi in malimi črkami ali ne (privzeta vrednost je False).
    MsgBox SF_String.ReplaceStr("100 xxx 200 yyy", Array("xxx", "yyy"), Array("(1)", "(2)"), CaseSensitive := False)
    ' "100 (1) 200 (2)"
    MsgBox SF_String.ReplaceStr("abCcdefghHij", Array("c", "h"), Array("Y", "Z"), CaseSensitive := False)
    ' "abYYdefgZZij"
  Vrne niz z berljivo reprezentacijo argumenta, odrezano na dani dolžini. To je uporabno predvsem za razhroščevanje ali beleženje dejavnosti.
Če je parameter anyvalue predmet, bo podan v oglatih oklepajih ("[" in "]").
V nizih se tabulatorji in prelomi vrstic zamenjajo z \t, \n in \r.
Če končna dolžina presega parameter maxlength, slednji del niza nadomesti " ... (N)", kjer je N skupna dolžina izvornega niza pred porezavo.
svc.Represent(anyvalue: any, [maxlength: int]): str
anyvalue: vhodna vrednost, ki bo reprezentirana. Lahko je poljubna vrednost, kot je niz, polje, predmet Basic, predmet UNO itn.
maxlength: največja dolžina izhodnega niza. Privzeta vrednost je 0, kar pomeni, da ni omejitve dolžine vrnjene reprezentacije.
    MsgBox SF_String.Represent("this is a usual string") ' "this is a usual string"
    MsgBox SF_String.Represent("this is a usual string", 15) ' "this i ... (22)"
    MsgBox SF_String.Represent("this is a" & Chr(10) & " 2-lines string") ' "this is a\n 2-lines string"
    MsgBox SF_String.Represent(Empty) ' "[EMPTY]"
    MsgBox SF_String.Represent(Null) ' "[NULL]"
    MsgBox SF_String.Represent(Pi) ' "3.142"
    MsgBox SF_String.Represent(CreateUnoService("com.sun.star.util.PathSettings")) ' "[com.sun.star.comp.framework.PathSettings]"
  Upoštevajte, da reprezentacija podatkovnih vrst, kot so polja in instanc predmetov ScriptForge.Dictionary vključuje tako vrsto podatkov kot njihove vrednosti:
    ' Primer z vgrajenim poljem Basic
    MsgBox SF_String.Represent(Array(1, 2, "Text" & Chr(9) & "here"))
    ' "[ARRAY] (0:2) (1, 2, Text\there)"
    ' Primer s poljem ScriptForge
    Dim aValues as Variant
    aValues = SF_Array.RangeInit(1, 5)
    MsgBox SF_String.Represent(aValues)
    ' "[ARRAY] (0:4) (1.0, 2.0, 3.0, 4.0, 5.0)"
    ' Primer s slovarjem ScriptForge
    Dim myDict As Variant : myDict = CreateScriptService("Dictionary")
    myDict.Add("A", 1) : myDict.Add("B", 2)
    MsgBox SF_String.Represent(myDict)
    ' "[Dictionary] ("A":1, "B":2)"
  Vrne vhodni niz v obratnem zaporedju znakov.
Ta metoda je ekvivalentna vgrajeni funkciji Basic StrReverse.
Za uporabo funkcije StrReverse mora biti v modulu prisotna izjava OpTion VBASupport 1.
svc.Reverse(inputstr: str): str
inputstr: niz, ki bo preobrnjen.
    MsgBox SF_String.Reverse("abcdefghij") ' "jihgfedcba"
  Vrne ničelno polje nizov z vrsticami v vhodnem nizu. Vsak element polja je pridobljen z deljenjem vhodnega niza pri znakih za novo vrstico.
svc.SplitLines(inputstr: str, [keepbreaks: int]): str[0..*]
inputstr: niz, ki ga želimo razdeliti.
keepbreaks: če je True, se prelomi vrstice v izhodnem polju ohranijo (privzeta vrednost je False).
    Dim a as Variant
    a = SF_String.SplitLines("Line1" & Chr(10) & "Line2" & Chr(13) & "Line3")
    ' a = Array("Line1", "Line2", "Line3")
    a = SF_String.SplitLines("Line1" & Chr(10) & "Line2" & Chr(13) & "Line3" & Chr(10))
    ' a = Array("Line1", "Line2", "Line3", "")
    a = SF_String.SplitLines("Line1" & Chr(10) & "Line2" & Chr(13) & "Line3" & Chr(10), KeepBreaks := True)
    ' a = Array("Line1\n", "Line2\r", "Line3\n", "")
  Razdeli niz v polje elementov z uporabo navedenega ločila.
Če podniz v navedku vsebuje ločilo, je prezrto. To je uporabno, ko razčlenjujete zapise, podobne CSV, ki vsebujejo citiranim nizom.
svc.SplitNotQuoted(inputstr: str, [delimiter: str], [occurrences: int], [quotechar: str]): str[0..*]
inputstr: niz, ki ga želimo razdeliti.
delimiter: niz iz enega ali več znakov, ki bo uporabljen kot ločilo. Privzeto ločilo je znak ASCII za presledek (" ").
occurrences: največje število vrnjenih podnizov. Privzeta vrednost je 0, kar pomeni, da ni omejitve števila vrnjenih nizov.
quotechar: enojni (') ali dvojni (") narekovaj.
    arr1 = SF_String.SplitNotQuoted("abc def ghi")
    ' arr1 = Array("abc", "def", "ghi")
    arr2 = SF_String.SplitNotQuoted("abc,""def,ghi""", ",")
    ' arr2 = Array("abc", """def,ghi""")
    arr3 = SF_String.SplitNotQuoted("abc,""def\"",ghi""", ",")
     ' arr3 = Array("abc", """def\"",ghi""")
    arr4 = SF_String.SplitNotQuoted("abc,""def\"",ghi"""",", ",")
    ' arr4 = Array("abc", """def\"",ghi""", "")
  
    svc = CreateScriptService("String")
    arr1 = svc.SplitNotQuoted('abc def ghi')
    # arr1 = ('abc', 'def', 'ghi')
    arr2 = svc.SplitNotQuoted('abc,"def,ghi"', ",")
    # arr2 = ('abc', '"def,ghi"')
    arr3 = svc.SplitNotQuoted(r'abc,"def\",ghi"', ",")
    # arr3 = ('abc', '"def\\",ghi"')
    arr4 = svc.SplitNotQuoted(r'abc,"def\",ghi"",', ",")
    # arr4 = ('abc', '"def\\",ghi""', '')
  Bodite pozorni na razlike med jezikoma Basic in Python pri reprezentaciji nizov. Primer: v Basicu sta dva znaka "" v nizu interpretirana kot en sam znak ". V Pythonu lahko nizi, zaobjeti z enojnimi narekovaji, vsebujejo znake ", ne da bi jih bilo potrebno podvajati.
Vrne True, če so prvi znaki niza identični podanemu podnizu.
Ta metoda vrne False, če imata vhodni niz ali podniz dolžino = 0 ali če je podniz daljši od vhodnega niza.
svc.StartsWith(inputstr: str, substring: str, [casesensitive: bool]): bool
inputstr: niz, ki bo preverjen.
substring: podniz, ki bo iskan na začetku niza inputstr.
casesensitive: pri primerjanju lahko velja razlika med velikimi in malimi črkami ali ne (privzeta vrednost je False).
    MsgBox SF_String.StartsWith("abcdefg", "ABC") 'True
    MsgBox SF_String.StartsWith("abcdefg", "ABC", CaseSensitive := True) 'False
  Vrne vhodni niz brez vodilnih in sledilnih presledkov.
svc.TrimExt(inputstr: str): str
inputstr: niz, ki bo obrezan.
    MsgBox SF_String.TrimExt(" Some text.  ") ' "Some text."
    MsgBox SF_String.TrimExt("   ABCDEF" & Chr(9) & Chr(10) & Chr(13) & " ") ' "ABCDEF"
  Pretvori poljubno ubežno zaporedje (\\, \n, \r, \t) v vhodnem nizu v njegov ustrezni znak ASCII.
svc.Unescape(inputstr: str): str
inputstr: niz, ki bo pretvorjen.
    MsgBox SF_String.Unescape("abc\n\tdef\\n")
    ' "abc" & Chr(10) & Chr(9) & "def\n"
  Odstrani enojne ali dvojne narekovaje, v katerih je morda vhodni niz.
To je uporabno, ko razčlenjujete zapise, podobne CSV, ki vsebujejo citiranim nizom.
svc.Unquote(inputstr: str, [quotechar: str]): str
inputstr: niz, kateremu bodo odstranjeni narekovaji.
quotechar: enojni (') ali dvojni (") narekovaj (privzeto).
    Dim s as String
    ' s = "Nekaj besedila" (brez narekovajev)
    s = SF_String.Unquote("""Some text""")
    ' Spodnji niz ni podan v narekovajih, zato ostane nespremenjen
    ' s = "Nekaj besedila" (nespremenjeno)
    s = SF_String.Unquote("Some text")
    ' Narekovaji znotraj niza se ne odstranijo
    ' s = "Tisti ""pravi"" pomen" (nespremenjeno)
    s = SF_String.Unquote("The ""true"" meaning")
  Pretvori vhodni niz v polje podnizov, tako da ima vsak element polja največ toliko znakov, kot je bilo podano.
V praksi ta metoda vrne prazno polje izhodnih vrstic brez oznak novih vrstic na koncu, razen prej obstoječih prelomov vrstic.
Tabulatorji se razširijo po enakem postopku kot z metodo ExpandTabs.
Simbolične prelome vrstic zamenja z njihovimi ekvivalentnimi znaki ASCII.
Če oviti izhod nima vsebine, je vrnjeno polje prazno.
svc.Wrap(inputstr: str, [width: int], [tabsize: int]): str
inputstr: niz za ovijanje.
width: največje število znakov v vsaki vrstici (privzeta vrednost je 70).
tabsize: pred ovijanjem besedila so obstoječi tabulatorski znaki Chr(9) zamenjani s presledki. TabSize določa položaj tabulatorskih mest po formuli TabSize + 1, 2 * TabSize + 1 , ... N * TabSize + 1 (privzeta vrednost je 8).
    a = "Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit..."
    b = SF_String.Wrap(a, 20)
    ' Array("Neque porro ", "quisquam est qui ", "dolorem ipsum quia ", "dolor sit amet, ", "consectetur, ", "adipisci velit...")
  
    a = "Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit..."
    b = svc.Wrap(a, 20)
    # ('Neque porro ', 'quisquam est qui ', 'dolorem ipsum quia ', 'dolor sit amet, ', 'consectetur, ', 'adipisci velit...')