LibreOffice 24.8 Hjelp
Tjenesten String gir en samling metoder for strengbehandling. Disse metodene kan brukes til å:
Validere innholdet i strenger
Formater strenger ved å trimme, rettferdiggjøre eller pakke inn innholdet
Bruk regulære uttrykk for å søke og erstatte delstrenger
Bruk hash-algoritmer på strenger, etc.
Tjenesten String gjenkjenner følgende linjeskift:
| Symbolsk navn | ASCII-nummer | 
|---|---|
|              Linjemating | 
             10  | 
Tjenesten String gjenkjenner følgende mellomrom:
| Symbolsk navn | ASCII nummer | 
|---|---|
|              Mellomrom | 
             32  | 
Nedenfor er en liste over escape-sekvenser som kan brukes i strenger.
| Escape-sekvenser | Symbolsk navn | ASCII nummer | 
|---|---|---|
| 
             \n  |              Linjemating | 
             10  | 
For å få escape-sekvensen "\n" tolket som en faktisk streng, bruk bare "\\n" i stedet for "\" & Chr(10).
Tegn definert i Unicode Character Database som "Annet" eller "Separator" anses som ikke-utskrivbare tegn.
Kontrolltegn (ASCII-kode <= 0x1F) anses også som ikke-utskrivbare.
For å legge til anførselstegn i strenger, bruk \' (enkelt anførselstegn) eller \" (dobbelt anførselstegn). For eksempel:
Strengen [str\'e\'ng] tolkes som [str'e'ng]
Strengen [str\"e\"ng] tolkes som [str"e"ng]
Før du bruker ScriptForge.String-tjenesten, må ScriptForge-biblioteket lastes ved å bruke:
      GlobalScope.BasicLibraries.loadLibrary("ScriptForge")
  Når du laster inn biblioteket, opprettes SF_String-objektet som kan brukes til å kalle metodene i Streng-tjenesten.
Følgende kodebiter viser de tre måtene å kalle metoder fra Streng-tjenesten (metoden Capitalize brukes som et eksempel):
    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
  Kodebiten nedenfor illustrerer hvordan du påkaller metoder fra Streng-tjenesten i Python-skript. Metoden IsIPv4 brukes som et eksempel.
    from scriptforge import CreateScriptService
    svc = CreateScriptService("String")
    ip_address = '192.168.0.14'
    svc.IsIPv4(ip_address) # True
  Objektet SF_String gir følgende egenskaper for Basic skript:
| Navn | Skrivebeskyttet | Beskrivelse | 
|---|---|---|
| sfCR | Ja | Vognretur: Kar(13) | 
| sfCRLF | Ja | Vognretur + linjemating: Kar(13) & Kar(10) | 
| sfLF | Ja | Linjemating: Kar(10) | 
| sfNEWLINE | Ja | Carriage return + Linefeed, som kan være | 
| sfTAB | Ja | Horisontal tabulering: Chr(9) | 
Du kan bruke egenskapene ovenfor til å identifisere eller sette inn de tilsvarende tegnene i strenger. Linjematningen kan for eksempel erstattes av SF_String.sfLF.
Det første argumentet for de fleste metoder er strengen som skal vurderes. Det sendes alltid ved referanse og forblir uendret. Metoder som Capitalize , Escape osv. returnerer en ny streng etter at de er utført.
Fordi Python har omfattende innebygd strengstøtte, er de fleste metodene i String-tjenesten kun tilgjengelig for Basic skript. Metodene som er tilgjengelige for Basic og Python er: HashStr, IsADate, IsEmail, IsFileName, IsIBAN, IsIPv4, IsLike, IsSheetName, IsUrl, SplitNotQuoted og Wrap.
Bruker stor bokstav til det første tegnet fra hvert ord i inndatastrengen.
svc.Capitalize(inputstr: str): str
inputstr: Strengen som skal skrives med store bokstaver.
    Dim sName as String : sName = "john smith"
    Dim sCapitalizedName as String
    sCapitalizedName = SF_String.Capitalize(sName)
    MsgBox sCapitalizedName 'John Smith
  Teller antall forekomster av en delstreng eller et regulært uttrykk i en streng.
svc.Count(inputstr: str, substring: str, [isregex: bool], [casesensitive: bool]): int
inputstr: Inndatastrengen som skal undersøkes
understreng: Understrengen eller det regulære uttrykket som skal brukes under søk
isregex: Bruk True hvis delstrengen er et regulært uttrykk (Standard = Usann)
scase-sensitive: Søket kan skille mellom store og små bokstaver eller ikke (Standard = Usann).
    'Teller forekomstene av understrengen "eller" inne i inndatastrengen (retur 2)
    MsgBox SF_String.Count("Lorem ipsum dolor sit amet, consectetur adipiscing elit.", "or", CaseSensitive := False)
    'Teller antall ord med bare små bokstaver (gir 7)
    MsgBox SF_String.Count("Lorem ipsum dolor sit amet, consectetur adipiscing elit.", "\b[a-z]+\b", IsRegex := True, CaseSensitive := True)
  For å lære mer om regulære uttrykk, se Python-dokumentasjonen på Regulære uttrykksoperasjoner .
Returnerer True hvis en streng slutter med en spesifisert delstreng.
Funksjonen returnerer False når enten strengen eller delstrengen har en lengde = 0 eller når delstrengen er lengre enn strengen.
svc.EndsWith(inputstr: str, substring: str, [casesensitive: bool]): bool
inputstr: Strengen som skal testes.
understreng: Understrengen som skal søkes i på slutten av inputstr.
case-sensitive: Søket kan skille mellom store og små bokstaver eller ikke (Standard = Usann).
    'Returnerer Sann fordi metoden ble anropt med standard CaseSensitive = Usann
    MsgBox SF_String.EndsWith("abcdefg", "EFG")
    'Returnerer Usann på grunn av parameteren CaseSensitive
    MsgBox SF_String.EndsWith("abcdefg", "EFG", CaseSensitive := True)
  Konverterer linjeskift og tabulatorer i inndatastrengen til deres ekvivalente escapede sekvens (\\, \n, \r, \t).
svc.Escape(inputstr: str): str
inputstr: Strengen som skal konverteres.
    'Returnerer strengen "abc\n\tdef\\n"
    MsgBox SF_String.Escape("abc" & Chr(10) & Chr(9) & "def\n")
  Erstatter tabulatortegn Chr(9) med mellomrom for å gjenskape oppførselen til tabulatorstopp.
Hvis et linjeskift blir funnet, startes en ny linje og tegntelleren tilbakestilles.
svc.ExpandTabs(inputstr: str, [tabsize: int]): str
inputstr: Strengen som skal utvides
tabstørrelse: Denne parameteren brukes til å bestemme tabulatorstoppene ved å bruke formelen: TabSize + 1, 2 * TabSize + 1 , ... N * TabSize + 1 (Standard = 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
  Erstatter alle ikke-utskrivbare tegn i inndatastrengen med et gitt tegn.
svc.FilterNotPrintable(inputstr: str, [replacedby: str]): str
inputstr: Strengen som skal søkes i
erstattet av: Null, ett eller flere tegn som vil erstatte alle ikke-utskrivbare tegn i inputstr (Standard = "")
    Dim LF : LF = Chr(10)
    Dim myText as String
    myText = "àén ΣlPµ" & LF & " Русский" & "\n"
    MsgBox SF_String.FilterNotPrintable(myText)
    ' "àén ΣlPµ Русский\n"
  Finner i en streng en delstreng som samsvarer med et gitt regulært uttrykk.
svc.FindRegex(inputstr: str, regex: str, [start: int], [casesensitive: bool], [forward: bool]): str
inputstr: Strengen som det skal søkes i
regex: Det regulære uttrykket
start: Posisjonen i strengen der søket vil begynne. Denne parameteren sendes ved referanse, så etter kjøring vil verdien av start peke til det første tegnet i den funnet understrengen. Hvis ingen samsvarende understreng blir funnet, settes start til 0.
case-sensitive: Søket kan skille mellom store og små bokstaver eller ikke (Standard = Usann).
fremover: Bestemmer retningen for søket. Hvis Sann, går søket fremover. Hvis Usann søk beveger seg bakover (Standard = Sann)
Ved første iterasjon, hvis fremover = Sant, så skal start være lik 1, mens hvis ffremover = Usant så start skal være lik 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
  I eksemplet ovenfor kan den nye verdien til lStart brukes til å fortsette å søke i den samme inndatastrengen ved å sette parameteren Start til lStart + Len(result) ved neste iterasjon.
Hash-funksjoner brukes i enkelte kryptografiske algoritmer, i digitale signaturer, meldingsautentiseringskoder, manipulasjonsdeteksjon, fingeravtrykk, sjekksum (meldingsintegritetssjekk), hashtabeller, passordlagring og mye mer.
Metoden HashStr returnerer resultatet av en hash-funksjon brukt på en gitt streng og bruker en spesifisert algoritme, som en streng med små heksadesimale sifre.
Hash-algoritmene som støttes er: MD5, SHA1, SHA224, SHA256, SHA384 og SHA512.
svc.HashStr(inputstr: str, algorithm: str): str
inputstr: Strengen som skal hash. Det antas å være kodet i UTF-8. Hashing-algoritmen vil vurdere strengen som en bytestrøm.
algoritme: En av de støttede algoritmene som er oppført ovenfor, sendt som en streng.
    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
  Koder inn inndatastrengen inn i HTML-tegnkodene, og erstatter spesialtegn med & motparter.
For eksempel vil tegnet é erstattes av é eller en tilsvarende numerisk HTML-kode.
svc.HtmlEncode(inputstr: str): str
inputstr: Strengen som skal kodes.
    MsgBox SF_String.HtmlEncode("<a href=""https://a.b.com"">From α to ω</a>")
    ' "<a href="https://a.b.com">From α to ω</a>"
  Returnerer True hvis inndatastrengen er en gyldig dato i henhold til et spesifisert datoformat.
svc.IsADate(inputstr: str, [dateformat: str]): bool
inputstr: Strengen som skal sjekkes. Hvis tom, returnerer metoden Usann
datoformat: Datoformatet, som en streng. Det kan være enten "ÅÅÅÅ-MM-DD" (standard), "DD-MM-ÅÅÅÅ" eller "MM-DD-ÅÅÅÅ"
Bindestreken (-) kan erstattes av en prikk (.), en skråstrek (/) eller et mellomrom.
Hvis formatet er ugyldig, returnerer metoden Usann.
    MsgBox SF_String.IsADate("2020-12-31", "YYYY-MM-DD") ' True
  Denne metoden sjekker formatet til inndatastrengen uten å utføre noen kalenderspesifikke kontroller. Derfor tester den ikke inndatastrengen for skuddår eller måneder med 30 eller 31 dager. For det, se IsDate innebygd funksjon.
Eksemplet nedenfor viser forskjellen mellom metodene IsADate (ScriptForge) og IsDate (innebygd) funksjonen.
    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
  Returnerer Sann hvis alle tegnene i strengen er alfabetiske.
Alfabetiske tegn er de tegnene som er definert i Unicode Character Database som Letter.
svc.IsAlpha(inputstr: str): bool
inputstr: Strengen som skal sjekkes. Hvis tom, returnerer metoden Usann.
    MsgBox SF_String.IsAlpha("àénΣlPµ") ' True
    MsgBox SF_String.IsAlpha("myVar3") ' False
  Returnerer True hvis alle tegnene i strengen er alfabetiske, sifre eller "_" (understreking). Det første tegnet må ikke være et siffer.
svc.IsAlphaNum(inputstr: str): bool
inputstr: Strengen som skal sjekkes. Hvis tom, returnerer metoden Usann.
    MsgBox SF_String.IsAlphaNum("_ABC_123456_abcàénΣlPµ") ' True
    MsgBox SF_String.IsAlphaNum("123ABC") ' False
  Returnerer Sann hvis alle tegnene i strengen er ASCII-tegn.
svc.IsAscii(inputstr: str): bool
inputstr: Strengen som skal sjekkes. Hvis tom, returnerer metoden Usann.
    MsgBox SF_String.IsAscii("a%?,25") ' True
    MsgBox SF_String.IsAscii("abcàénΣlPµ") ' False
  Returnerer Usann hvis alle tegnene i strengen er sifre.
svc.IsDigit(inputstr: str): bool
inputstr: Strengen som skal sjekkes. Hvis tom, returnerer metoden Usann.
    MsgBox SF_String.IsDigit("123456") ' True
    MsgBox SF_String.IsDigit("_12a") ' False
  Returnerer Sann hvis strengen er en gyldig e-postadresse.
svc.IsEmail(inputstr: str): bool
inputstr: Strengen som skal sjekkes. Hvis tom, returnerer metoden Usann.
    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
  Returnerer Sann hvis strengen er et gyldig filnavn i et gitt operativsystem.
svc.IsFileName(inputstr: str, [osname: str]): bool
inputstr: Strengen som skal sjekkes. Hvis tom, returnerer metoden Usann.
osname: Operativsystemnavnet, som en streng. Det kan være "WINDOWS", "LINUX", "MACOSX" eller "SOLARIS".
Standardverdien er det gjeldende operativsystemet som skriptet kjører på.
    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
  Returnerer Sann hvis alle tegnene i strengen er heksadesimale sifre.
svc.IsHexDigit(inputstr: str): bool
inputstr: Strengen som skal sjekkes. Hvis tom, returnerer metoden Usann.
De heksadesimale sifrene kan settes foran med "0x" eller "&H".
    MsgBox SF_String.IsHexDigit("&H00FF") ' True
    MsgBox SF_String.IsHexDigit("08AAFF10") ' True
    MsgBox SF_String.IsHexDigit("0x18LA22") ' False
  Returnerer Sann hvis strengen er et gyldig internasjonalt bankkontonummer (IBAN). Sammenligningen skiller ikke mellom store og små bokstaver.
svc.IsIBAN(inputstr: str): bool
inputstr: Strengen som skal sjekkes. Hvis tom, returnerer metoden Usann.
Sann hvis strengen inneholder et gyldig IBAN-nummer.
    ' 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
  Returnerer Sann hvis strengen er en gyldig IP(v4)-adresse.
svc.IsIPv4(inputstr: str): bool
inputstr: Strengen som skal sjekkes. Hvis tom, returnerer metoden Usann.
    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
  Returnerer Sann hvis hele inndatastrengen samsvarer med et gitt mønster som inneholder jokertegn.
svc.IsLike(inputstr: str, pattern: str, [casesensitive: bool]): bool
inputstr: Strengen som skal sjekkes. Hvis tom, returnerer metoden Usann.
mønster: Mønsteret som en streng. Jokertegn er:
"?" representerer et enkelt tegn;
"*" representerer null, ett eller flere tegn.
case-sensitive: Søket kan skille mellom store og små bokstaver eller ikke (Standard = Usann).
    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
  Returnerer Sann hvis alle tegnene i strengen er med små bokstaver. Ikke-alfabetiske tegn ignoreres.
svc.IsLower(inputstr: str): bool
InputStr: Strengen som skal sjekkes. Hvis tom, returnerer metoden Usann.
    MsgBox SF_String.IsLower("abc'(-xy4z") ' True
    MsgBox SF_String.IsLower("1234") ' True
    MsgBox SF_String.IsLower("abcDefg") ' False
  Returnerer Sann hvis alle tegnene i strengen kan skrives ut.
svc.IsPrintable(inputstr: str): bool
inputstr: Strengen som skal sjekkes. Hvis tom, returnerer metoden Usann.
    MsgBox SF_String.IsPrintable("àén ΣlPµ Русский") ' True
    MsgBox SF_String.IsPrintable("First line." & Chr(10) & "Second Line.") ' False
  Returnerer Sann hvis hele inndatastrengen samsvarer med et gitt regulært uttrykk.
svc.IsRegex(inputstr: str, regex: str, [casesensitive: bool]): bool
inputstr: Strengen som skal sjekkes. Hvis tom, returnerer metoden Sann.
regex: Det regulære uttrykket. Hvis tom, returnerer metoden Usann.
store-sensitive: Søket kan skille mellom store og små bokstaver eller ikke (Standard = Usann).
        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
      Returnerer True hvis inndatastrengen er et gyldig Calc-arknavn.
svc.IsSheetName(inputstr: str): bool
inputstr: Strengen som skal sjekkes. Hvis tom, returnerer metoden Usann.
    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
  Et arknavn må ikke inneholde tegnene [ ] * ? : / \ eller tegnet ' (apostrof) som første eller siste tegn.
Returnerer Sann hvis det første tegnet i hvert ord er med store bokstaver og de andre tegnene med små bokstaver.
svc.IsTitle(inputstr: str): bool
inputstr: Strengen som skal sjekkes. Hvis tom, returnerer metoden Usann.
    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
  Returnerer Sann hvis alle tegn i strengen er med store bokstaver. Ikke-alfabetiske tegn ignoreres.
svc.IsUpper(inputstr: str): bool
inputstr: Strengen som skal sjekkes. Hvis tom, returnerer metoden Usann.
    MsgBox SF_String.IsUpper("ABC'(-XYZ") ' True
    MsgBox SF_String.IsUpper("A Title") ' False
  Returnerer Sann hvis strengen er en gyldig absolutt URL-adresse (Uniform Resource Locator). Bare http-, https- og ftp-protokollene støttes.
svc.IsUrl(inputstr: str): bool
inputstr: Strengen som skal sjekkes. Hvis tom, returnerer metoden Usann.
    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
  Returnerer Sann hvis alle tegnene i strengen er mellomrom
svc.IsWhitespace(inputstr: str): bool
inputstr: Strengen som skal sjekkes. Hvis tom, returnerer metoden Usann.
    MsgBox SF_String.IsWhitespace("    ") ' True
    MsgBox SF_String.IsWhitespace(" " & Chr(9) & Chr(10)) ' True
    MsgBox SF_String.IsWhitespace("") ' False
  Returnerer inndatastrengen senterjustert.
De innledende og etterfølgende mellomrommene fjernes og de resterende tegnene fylles ut til venstre og høyre opp til en spesifisert totallengde med tegnet utfylling.
svc.JustifyCenter(inputstr: str, [length: int], [padding: str]): str
inputstr: Strengen som skal senterjusteres. Hvis tom, returnerer metoden en tom streng.
lengde: Lengden på den resulterende strengen (standard = lengden på inndatastrengen).
Hvis den angitte lengden er kortere enn den senterjusterte inndatastrengen, avkortes den returnerte strengen.
utfylling: Enkelttegn som skal brukes som utfylling (standard = ASCII-mellomrommet " ").
    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"
  Returnerer inndatastrengen venstrejustert.
De innledende mellomrommene fjernes og de resterende tegnene fylles ut til høyre opp til en spesifisert total lengde med tegnet utfylling.
svc.JustifyLeft(inputstr: str, [length: int], [padding: str]): str
inputstr: Strengen som skal venstrejusteres. Hvis tom, returnerer metoden en tom streng.
lengde: Lengden på den resulterende strengen (standard = lengden på inndatastrengen).
Hvis den angitte lengden er kortere enn den venstrejusterte inngangsstrengen, avkortes den returnerte strengen.
utfylling: Enkelttegn som skal brukes som utfylling (standard = ASCII-mellomrommet " ").
    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"
  Returnerer inndatastrengen høyrejustert.
De innledende hvite mellomrommene fjernes og de resterende tegnene fylles ut til venstre opp til en spesifisert total lengde med tegnet utfylling.
svc.JustifyRight(inputstr: str, [length: int], [padding: str]): str
inputstr: Strengen som skal høyrejusteres. Hvis tom, returnerer metoden en tom streng.
lengde: Lengden på den resulterende strengen (standard = lengden på inndatastrengen).
Hvis den angitte lengden er kortere enn den høyrejusterte inndatastrengen, avkortes den returnerte strengen.
utfylling: Enkelttegn som skal brukes som utfylling (standard = ASCII-mellomrommet " ").
    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"
  Returnerer inndatastrengen omsluttet av enkle eller doble anførselstegn. Eksisterende sitater er uendret, inkludert ledende og/eller etterfølgende sitater.
svc.Quote(inputstr: str, [quotechar: str]): str
inputstr: Strengen som skal siteres.
quotechar: Enten enkelt (') eller dobbel (") anførselstegn (standard).
    MsgBox SF_String.Quote("Text Value")
    ' "Text Value"
    MsgBox SF_String.Quote("Book Title: ""The Arabian Nights""", "'")
    ' 'Book Title: "The Arabian Nights"'
  Denne metoden kan være nyttig når du forbereder et strengfelt som skal lagres i en csv-lignende fil, som krever at tekstverdier omsluttes av enkle eller doble anførselstegn.
Erstatter alle forekomster av tegnene spesifisert i Før-parameteren med de tilsvarende tegnene spesifisert i Etter.
Hvis lengden på Før er større enn lengden på Etter, erstattes gjenværende tegn i Før med det siste tegnet i Etter .
svc.ReplaceChar(inputstr: str, before: str, after: str): str
inputstr: Inndatastrengen som erstatninger vil finne sted på.
før: En streng med tegnene som vil bli søkt i inndatastrengen for erstatning.
etter: En streng med de nye tegnene som vil erstatte de som er definert i før.
    ' Erstatter aksenttegn
    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"
  Tjenesten SF_String gir nyttige offentlige konstanter for de latinske tegnsettene, som vist i eksemplet nedenfor:
    MsgBox SF_String.ReplaceChar("Protégez votre vie privée", SF_String.CHARSWITHACCENT, SF_String.CHARSWITHOUTACCENT)
    ' "Protegez votre vie privee"
  Erstatter alle forekomster av et gitt regulært uttrykk med en ny streng.
svc.ReplaceRegex(inputstr: str, regex: str, newstr: str, [casesensitive: bool]): str
inputstr: Inndatastrengen som erstatninger vil finne sted på.
regex: Det regulære uttrykket.
newstr: Den erstattende strengen.
store-sensitive: Søket kan skille mellom store og små bokstaver eller ikke (Standard = Usann).
    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." (hver liten bokstav erstattes med "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." (hvert ord er erstattet med "x")
  Erstatter i en streng noen eller alle forekomster av en rekke strenger med en rekke nye strenger.
svc.ReplaceStr(inputstr: str, oldstr: str, newstr: str, [occurrences: int], [casesensitive: bool]): str
inputstr: Inndatastrengen som erstatninger vil bli brukt på.
oldstr: En enkelt streng eller en rekke strenger. Strenger med null lengde ignoreres.
newstr: Den erstattende strengen eller utvalget av erstattende strenger.
Hvis oldstr er en matrise, erstattes hver forekomst av noen av elementene i oldstr med newstr.
Hvis oldstr og newstr er arrays, skjer erstatninger én etter én opp til UBound(newstr).
Hvis oldstr har flere oppføringer enn newstr, erstattes restelementene i oldstr med det siste elementet i newstr .
forekomster: Maksimalt antall erstatninger. Standardverdien er 0, noe som betyr at alle forekomster vil bli erstattet.
Når oldstr er en matrise, beregnes parameteren occurrence separat for hvert element i matrisen.
case-sensitive: Søket kan skille mellom store og små bokstaver eller ikke (Standard = Usann).
    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"
  Returnerer en streng med en lesbar representasjon av argumentet, avkortet i en gitt lengde. Dette er nyttig hovedsakelig for feilsøking eller logging.
Hvis anyvalue-parameteren er et objekt, vil den være omgitt av hakeparenteser "[" og "]".
I strenger erstattes tabulatorer og linjeskift med \t, \n eller \r.
Hvis den endelige lengden overskrider maxlength-parameteren, erstattes den siste delen av strengen med " ... (N)" der N er den totale lengden på den opprinnelige strengen før avkortning.
svc.Represent(anyvalue: any, [maxlength: int]): str
anyvalue: Inndataverdien som skal representeres. Det kan være en hvilken som helst verdi, for eksempel en streng, en matrise, et Basic-objekt, et UNO-objekt, etc.
maxlength: Den maksimale lengden på den resulterende strengen. Standardverdien er 0, noe som betyr at det ikke er noen grense for lengden på den resulterende representasjonen.
    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]"
  Merk at representasjonen av datatyper som Arrays og ScriptForge.Dictionary objektforekomster inkluderer både datatypen og deres verdier:
    ' Et eksempel med en grunnleggende innebygd matrise
    MsgBox SF_String.Represent(Array(1, 2, "Text" & Chr(9) & "here"))
    ' "[ARRAY] (0:2) (1, 2, Text\there)"
    ' Et eksempel med en ScriptForge Matrise
    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)"
    Et eksempel med en ScriptForge-ordbok
    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)"
  Returnerer inndatastrengen i omvendt rekkefølge.
Denne metoden tilsvarer den innebygde StrReverse Basic-funksjonen.
For å bruke StrReverse-funksjonen, må uttrykket Alternativ VBASupport 1 være til stede i modulen.
svc.Reverse(inputstr: str): str
inputstr: Strengen som skal reverseres.
    MsgBox SF_String.Reverse("abcdefghij") ' "jihgfedcba"
  Returnerer en nullbasert matrise med strenger med linjene i inndatastrengen. Hvert element i matrisen oppnås ved å splitte inndatastrengen ved nye linjetegn.
svc.SplitLines(inputstr: str, [keepbreaks: int]): str[0..*]
inputstr: Strengen som skal deles.
keepbreaks: Når Sann, blir linjeskift bevart i utdatamatrisen (standard = Usann).
    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", "")
  Deler en streng i en rekke elementer ved hjelp av et spesifisert skilletegn.
Hvis en delstreng i anførselstegn inneholder et skilletegn, ignoreres den. Dette er nyttig når du analyserer CSV-lignende poster som inneholder anførselstegn.
svc.SplitNotQuoted(inputstr: str, [delimiter: str], [occurrences: int], [quotechar: str]): str[0..*]
inputstr: Strengen som skal deles.
skilletegn: En streng med ett eller flere tegn som skal brukes som skilletegn. Standard avgrensningstegn er ASCII-mellomrom " ".
forekomster: Maksimalt antall understrenger som skal returneres. Standardverdien er 0, noe som betyr at det ikke er noen grense for antall returnerte strenger.
quotechar: Enten enkelt (') eller dobbel (") anførselstegn.
    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""', '')
  Vær oppmerksom på forskjellene mellom Basic og Python når du representerer strenger. For eksempel, i Basic tolkes to ""-tegn inne i en streng som et enkelt "-tegn. I Python kan strenger omsluttet av enkle anførselstegn inneholde "-tegn uten å måtte doble dem.
Returnerer True hvis de første tegnene i en streng er identiske med en gitt delstreng.
Denne metoden returnerer False hvis enten inndatastrengen eller delstrengen har en lengde = 0 eller når delstrengen er lengre enn inndatastrengen.
svc.StartsWith(inputstr: str, substring: str, [casesensitive: bool]): bool
inputstr: Strengen som skal testes.
understreng: Understrengen som skal søkes i ved starten av inputstr.
store-sensitive: Søket kan skille mellom store og små bokstaver eller ikke (Standard = Usann).
    MsgBox SF_String.StartsWith("abcdefg", "ABC") 'True
    MsgBox SF_String.StartsWith("abcdefg", "ABC", CaseSensitive := True) 'False
  Returnerer inndatastrengen uten innledende og etterfølgende mellomrom.
svc.TrimExt(inputstr: str): str
inputstr: Strengen som skal trimmes.
    MsgBox SF_String.TrimExt(" Some text.  ") ' "Some text."
    MsgBox SF_String.TrimExt("   ABCDEF" & Chr(9) & Chr(10) & Chr(13) & " ") ' "ABCDEF"
  Konverterer enhver escaped sekvens (\\, \n, \r, \t) i inndatastrengen til deres tilsvarende ASCII-tegn.
svc.Unescape(inputstr: str): str
inputstr: Strengen som skal konverteres.
    MsgBox SF_String.Unescape("abc\n\tdef\\n")
    ' "abc" & Chr(10) & Chr(9) & "def\n"
  Fjerner de enkle eller doble anførselstegnene som omslutter inndatastrengen.
Dette er nyttig når du analyserer CSV-lignende poster som inneholder anførselstegn.
svc.Unquote(inputstr: str, [quotechar: str]): str
inputstr: Strengen som skal fjernes fra anførselstegn.
quotechar: Enten enkelt (') eller dobbel (") anførselstegn (standard).
    Dim s as String
    ' s = "Noe tekst" (uten anførselstegn)
    s = SF_String.Unquote("""Some text""")
    ' Strengen nedenfor har ikke omsluttende anførselstegn, så den forblir uendret
    ' s = "Noe tekst" (uendret)
    s = SF_String.Unquote("Some text")
    ' Sitater inne i strengen fjernes ikke
    ' s = "Den "sanne"" betydningen" (uendret)
    s = SF_String.Unquote("The ""true"" meaning")
  Konverterer inndatastrengen til en matrise med delstrenger slik at hvert element i matrisen maksimalt har et gitt antall tegn.
I praksis returnerer denne metoden et nullbasert utvalg av utgangslinjer, uten nye linjer på slutten, bortsett fra de allerede eksisterende linjeskiftene.
Faner utvides med samme prosedyre som utføres av Ekspander Fliker-metoden.
Symbolske linjeskift erstattes av tilsvarende ASCII-tegn.
Hvis den pakkede utgangen ikke har noe innhold, er den returnerte matrisen tom.
svc.Wrap(inputstr: str, [width: int], [tabsize: int]): str
inputstr: Strengen som skal brytes.
bredde: Maksimalt antall tegn i hver linje (standard = 70).
tabsize: Før teksten brytes, erstattes de eksisterende TAB Chr(9)-tegnene med mellomrom. Argumentet tabsize definerer TAB-stoppene ved TabSize + 1, 2 * TabSize + 1 , ... N * TabSize + 1 (Standard = 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...')