LibreOffice 25.2 Hjelp
Tenesta String leverer ei samling av metodar til strenghandsaming. Desse metodane kan brukast til:
Kontrollera innhaldet i strengar
Formater strengar ved å trimma, justera eller tekstbryta innhaldet
Bruk regulære uttrykk til å søkja og erstatta understrengar
Bruka hash-algoritmar på strengar og så vidare.
Tenesta String skjenner igjen desse linjeskifta:
| Symbolsk namn | ASCII-nummer | 
|---|---|
|              Linjeskift | 
             10  | 
Tenesta String skjenner igjen desse blankteikna:
| Symbolsk namn | ASCII-nummer | 
|---|---|
|              Mellomrom | 
             32  | 
Nedanfor er ei liste over escape-sekvensar som kan brukast i strengar.
| Escape-sekvensar | Symbolsk namn | ASCII-nummer | 
|---|---|---|
| 
             \n  |              Linjeskift | 
             10  | 
For å unngå at escape-sekvensen "\n" vert tolka som ein gjeldande streng, bruk "\\n" i staden for "\" & Chr(10).
Teikn som i Unicode Character Database er definerte som “Other” eller “Separator” vert sett på som teikn som ikkje kan skrivast ut.
Kontrollteikn (ascii code <= 0x1F) vert også sett på som teikn som ikkje kan skrivast ut.
For å setja inn hermeteikna ' (enkelt hermeteikn) og " (dobbelt hermeteikn) i strengar, bruk \' og \". For eksempel:
Strengen [str\e\'ng] vert tolka som som [str'e'ng]
Strengen [str\"e\"ng] vert tolka som som [str"e"ng]
Før du kan bruka tenesta ScriptForge.String, må du henta inn biblioteket ScriptForge med:
      GlobalScope.BasicLibraries.loadLibrary("ScriptForge")
  Lastinga av biblioteket vil laga objektet SF_String som kan brukast for å kalla opp metodane i tenesta String.
Desse kodesnuttane viser tre måtar for å kalla opp metodar i tenesta String (Capitalize er brukt som 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
  Kodesnutten nedanfor viser korleis metodar frå tenest String kan kallast opp i Python-skript. Metoden IsIPv4 vert brukt som eksempel.
    from scriptforge import CreateScriptService
    svc = CreateScriptService("String")
    ip_address = '192.168.0.14'
    svc.IsIPv4(ip_address) # True
  Objektet SF_String inneheld desse eigenskapane for Basic-kript:
| Name | Skriveverna | Beskriving | 
|---|---|---|
| sfCR | Ja | Vognretur | 
| sfCRLF | Ja | Vognretur + linjeskift: Chr(13) & Chr(10) | 
| sfLF | Ja | Linjeskift: Chr(10) | 
| sfNEWLINE | Ja | Vognretur + linjeskift, som kan vera | 
| sfTAB | Ja | Vassrett tabulator: Chr(9) | 
Du kan bruka eigenskapane ovanfor for å identifisera eller setja inn dei tilsvarande teikna i strengar. For eksempel kan teiknet for linjeskift bytast ut med SF_String.sfLF.
Det første argumentet for dei fleste metodane er strengen som skal vurderast. Han vert alltid sendt vidare som referanse og vert ikkje endra. Metodar som Capitalize, Escape og så vidare returnerer ein ny streng etter at dei er utførte.
Fordi Python har omfattande innebygd strengstøtte, er dei fleste metodane i tenesta String berre tilgjengelege for grunnleggjande skript. Metodane som er tilgjengelege for Basic og Python er: HashStr, IsADate, IsEmail, IsFileName, IsIBAN, IsIPv4, IsLike, IsSheetName, IsUrl, SplitNotQuoted og Wrap.
Skriv den første bokstaven i kvart ord som stor bokstav i inndata-strengen.
svc.Capitalize(inputstr: str): str
InputStr: Strengen som skal skrivast med stor bokstav.
    Dim sName as String : sName = "john smith"
    Dim sCapitalizedName as String
    sCapitalizedName = SF_String.Capitalize(sName)
    MsgBox sCapitalizedName 'John Smith
  Tel kor mange gongar ein delstreng eller eit regulært uttrykk finst i ein streng.
svc.Count(inputstr: str, substring: str, [isregex: bool], [casesensitive: bool]): int
inputstr: Inndatastrengen som skal kontrollerast
substring: Delstrengen eller det regulære uttrykket som skal brukast ved søkinga
isregex: Bruk ann viss understrengen er eit regulært uttrykk ( standard = Usann)
casesensitive: Søket kan skilja mellom store og små bokstavar eller ikkje (standard = Usann).
    ' Tel kor ofte delstrengen "or" finst i strengen (returnerer 2)
    MsgBox SF_String.Count("Lorem ipsum dolor sit amet, consectetur adipiscing elit.", "or", CaseSensitive := False)
    ' Tel kor mange ord det er med berre små bokstavar (returnerer 7)
    MsgBox SF_String.Count("Lorem ipsum dolor sit amet, consectetur adipiscing elit.", "\b[a-z]+\b", IsRegex := True, CaseSensitive := True)
  Du kan finna meir om regulære uttrykk i dokumentasjonen for Python på nettsida Regular Expression Operations.
Returnerer Sann viss ein streng sluttar med den spesifiserte understrengen.
Funksjonen returnerer Usann når ein streng eller ein understreng har lengd = 0 eller viss understrengen er lengre enn strengen.
svc.EndsWith(inputstr: str, substring: str, [casesensitive: bool]): bool
InputStr: Strengen som skal kontrollerast.
substring: Understrengen som skal søkjast i på slutten av inputstr.
casesensitive: Søket kan skilja mellom store og små bokstavar eller ikkje (standard = Usann).
    ' Returnerer Sann fordi metoden vart kalla opp med standarden "CaseSensitive = Usann"
    MsgBox SF_String.EndsWith("abcdefg", "EFG")
    ' Returnerer «Usann» på grunn av parametera sette i CaseSensitive
    MsgBox SF_String.EndsWith("abcdefg", "EFG", CaseSensitive := True)
  Konverterer linjebrytingar og tabulatorar i inndatastrengen til den tilsvarande escape-sekvensen (\\, \n, \r, \t).
svc.Escape(inputstr: str): str
inputstr: Strengen som skal konverterast.
    ' Returnerer strengen "abc\n\tdef\\n"
    MsgBox SF_String.Escape("abc" & Chr(10) & Chr(9) & "def\n")
  Erstattar tabulator-teikn Chr(9) med mellomromsteikn for å gjenskape verkemåten til tabulatorane.
Viss det finst eit linjeskift, vert det byrja på ei ny linje og teiknteljaren vert sett til null.
svc.ExpandTabs(inputstr: str, [tabsize: int]): str
inputstr: Strengen som skal utvidast
tabsize: Denne parameteren vert brukt for å bestemma tabulatorsettingane med 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
  Byter ut alle teikna som ikkje kan skrivast ut med eit gjeve teikn.
svc.FilterNotPrintable(inputstr: str, [replacedby: str]): str
inputstr: Strengen som skal søkjast etter
replacedby: Null, eitt eller fleire teikn som erstattar alle teikna som ikkje kan skrivast ut 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"
  Finn ein delstreng i ein streng som samsvarar med eit gjeve regulært uttrykk.
svc.FindRegex(inputstr: str, regex: str, [start: int], [casesensitive: bool], [forward: bool]): str
inputstr: Strengen som skal søkjast etter
regex: Det regulære uttrykket
start: Staden i strengen der søket skal byrja. Denne parameteren vert sendt med referanse, så etter køyringa vil verdien av start peika til det første teiknet i den funne understrengen. Viss det ikkje vert funne nokon samsvarande understreng, vert start sett til 0.
casesensitive: Søket kan skilja mellom store og små bokstavar eller ikkje (standard = Usann).
forward: Bestemmer retninga for søket. Viss Sann, vert det søkt framover, viss Usann bakover. (Standard = Sann)
Viss forward = Sann i den første gjentakinga, bør start vera lik 1, men er forward = Usann bør start vera 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 eksempelet ovanfor kan den nye verdien for lStart brukast for å søkja i den same inndatastrengen ved å setja parameteren Start til lStart + Len(result) i den neste gjentakinga.
Hash-funksjonar vert brukte av nokre kryptografiske algoritmar, i digitale signaturar, meldings-godkjenningskodar, oppdaging av manipulering, fingeravtrykk, kontrollsummar (kontroll av meldingsintegritet), hash-tabellar, lagring av passord og mykje meir.
Metoden HashStr returnerer resultatet av ein hash-funksjon som er brukt på ein gjeven streng og med ein spesifisert algoritme. Den returnerte verdien er ein streng av heksadesimale siffer skrive med små bokstavar.
Dei støtta hash-algoritmane er: MD5, SHA1, SHA224, SHA256, SHA384 og SHA512.
svc.HashStr(inputstr: str, algorithm: str): str
inputstr: Strengen som skal «hashast». Det vert gått ut frå at han er koda i UTF-8. Hash-algoritmen oppfattar strengen som ein sekvens av byte.
algoritme: Ein av dei støtta algoritmane lista opp ovanfor, sendt vidare som ein 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
  Kodar inndatastrengen i HTML-teiknkoder og byter ut spesialteikn med tilsvarande &-teikn.
Teiknet é vert for eksempel byt ut med é eller ein tilsvarande numerisk HTML-kode.
svc.HtmlEncode(inputstr: str): str
inputstr: Strengen som skal kodast.
    MsgBox SF_String.HtmlEncode("<a href=""https://a.b.com"">From α to ω</a>")
    ' "<a href="https://a.b.com">From α to ω</a>"
  Returnerer Sann viss inndatastrengen er ein gyldig dato etter eit bestemt datoformat.
svc.IsADate(inputstr: str, [dateformat: str]): bool
inputstr: Strengen som skal kontrollerast, Viss tom, returnerer metoden Usann
datoformat: Datoformatet som ein streng. Det kan vera anten "YYYY-MM-DD" (Standard), "DD-MM-YYYY" eller "MM-DD-YYYY"
Bindestreken (-) kan bytast ut med eit punktum (.), ein skråstrek (/) eller eit mellomrom.
Viss formatet er ugyldig, returnerer metoden Usann.
    MsgBox SF_String.IsADate("2020-12-31", "YYYY-MM-DD") ' True
  Denne metoden kontrollerer formatet til inndatastrengen utan å gjera kalenderspesifikke kontrollar. Difor testar han ikkje inndatastrengen for skotår eller månader med 30 eller 31 dagar. For å gjera det, sjå den innebygde funksjonen IsDate.
Eksempelet nedanfor viser skilnaden mellom metodane IsADate (ScriptForge) og funksjonen IsDate (innebygd).
    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 viss alle teikna i strengen er alfabetiske.
Alfabetiske teikn er dei teikna som i Unicode Character Database er definerte som bokstavar.
svc.IsAlpha(inputstr: str): bool
inputstr: Strengen som skal kontrollerast. Viss tom, returnerer metoden Usann
    MsgBox SF_String.IsAlpha("àénΣlPµ") ' True
    MsgBox SF_String.IsAlpha("myVar3") ' False
  Returnerer Sann viss alle teikna i strengen er alfabetiske, siffer eller "_" (understrek). Det første teiknet kan ikkje vera eit siffer.
svc.IsAlphaNum(inputstr: str): bool
inputstr: Strengen som skal kontrollerast. Viss tom, returnerer metoden Usann.
    MsgBox SF_String.IsAlphaNum("_ABC_123456_abcàénΣlPµ") ' True
    MsgBox SF_String.IsAlphaNum("123ABC") ' False
  Returnerer Sann viss alle teikna i strengen er ASCII-teikn.
svc.IsAscii(inputstr: str): bool
inputstr: Strengen som skal kontrollerast. Viss tom, returnerer metoden Usann
    MsgBox SF_String.IsAscii("a%?,25") ' True
    MsgBox SF_String.IsAscii("abcàénΣlPµ") ' False
  Returnerer Sann viss alle teikna i strengen er siffer.
svc.IsDigit(inputstr: str): bool
inputstr: Strengen som skal kontrollerast. Viss tom, returnerer metoden Usann
    MsgBox SF_String.IsDigit("123456") ' True
    MsgBox SF_String.IsDigit("_12a") ' False
  Returnerer Sann viss strengen er ei gyldig e-postadresse.
svc.IsEmail(inputstr: str): bool
inputstr: Strengen som skal kontrollerast. Viss 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 viss strengen er eit gyldig filnamn i eit gjeve operativsystem.
svc.IsFileName(inputstr: str, [osname: str]): bool
inputstr: Strengen som skal kontrollerast. Viss tom, returnerer metoden Usann
osname: Namnet på operativsystemet som ein streng. Det kan vera «WINDOWS», «LINUX», «MACOSX» eller «SOLARIS».
Standardverdien er det gjeldande operativsystem, som skriptet køyrer 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 viss alle teikna i strengen er heksadesimale siffer.
svc.IsHexDigit(inputstr: str): bool
inputstr: Strengen som skal kontrollerast. Viss tom, returnerer metoden Usann
Dei heksadesimale sifra kan ha prefikset «0x» eller «&H».
    MsgBox SF_String.IsHexDigit("&H00FF") ' True
    MsgBox SF_String.IsHexDigit("08AAFF10") ' True
    MsgBox SF_String.IsHexDigit("0x18LA22") ' False
  Returnerer Sann viss strenge er eit gyldig «Internationalt Bank Account Nummer» (IBAN). Samanlikninga skil ikkje mellom store og små bokstavar.
svc.IsIBAN(inputstr: str): bool
inputstr: Strengen som skal kontrollerast. Viss tom, returnerer metoden Usann
Sann viss strengen inneheld eit 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 viss strengen er ei gyldig IP-adresse (v4).
svc.IsIPv4(inputstr: str): bool
inputstr: Strengen som skal kontrollerast. Viss 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 viss heile inndatastrengen samsvarar med eit gjeve mønster som inneheld jokerteikn.
svc.IsLike(inputstr: str, pattern: str, [casesensitive: bool]): bool
inputstr: Strengen som skal kontrollerast. Viss tom, returnerer metoden Usann
pattern: Mønsteret som ein streng. Jokerteikna er:
"?" står for eitt enkelt teikn,
"*" står for ingen, eitt eller fleire teikn.
casesensitive: Søket kan skilja mellom store og små bokstavar eller ikkje (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 viss alle teikna i strengen er små. Teikn som ikkje er alfabetiske vert ignorerte.
svc.IsLower(inputstr: str): bool
inputStr: Strengen som skal kontrollerast. Viss 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 viss alle teikna i strengen kan skrivast ut.
svc.IsPrintable(inputstr: str): bool
inputstr: Strengen som skal kontrollerast. Viss tom, returnerer metoden Usann
    MsgBox SF_String.IsPrintable("àén ΣlPµ Русский") ' True
    MsgBox SF_String.IsPrintable("First line." & Chr(10) & "Second Line.") ' False
  Returnerer Sann viss heile inndatastrengen samsvarar med eit gjeve regulært uttrykk.
svc.IsRegex(inputstr: str, regex: str, [casesensitive: bool]): bool
inputstr: Strengen som skal kontrollerast. Viss tom, returnerer metoden Usann
regex: Det regulære uttrykket. Viss tom vil metoden returnere Usann.
casesensitive: Søket kan skilja mellom store og små bokstavar eller ikkje (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 Sann viss inndatastrengen er eit gyldig arknamn i Calc.
svc.IsSheetName(inputstr: str): bool
inputstr: Strengen som skal kontrollerast. Viss 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
  Eit arknamn må ikkje innehalda teikna [, ], *, ?, :, /, \ eller teiknet ' (apostrof) som første eller siste teikn.
Returnerer Sann viss det første teikn i kvart ord er skrive med stor bokstav og dei andre teikna er små bokstavar.
svc.IsTitle(inputstr: str): bool
inputstr: Strengen som skal kontrollerast. Viss 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 viss alle bokstavane i strengen er store. Teikn som ikkje er alfabetiske vert ignorerte.
svc.IsUpper(inputstr: str): bool
inputstr: Strengen som skal kontrollerast. Viss tom, returnerer metoden Usann
    MsgBox SF_String.IsUpper("ABC'(-XYZ") ' True
    MsgBox SF_String.IsUpper("A Title") ' False
  Returnerer Sann viss strengen er ein gyldig absolutt URL (Uniform Resource Locator)-adresse. Det er støtte berre for protokollane http, https og ftp.
svc.IsUrl(inputstr: str): bool
inputstr: Strengen som skal kontrollerast. Viss 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 viss alle teikna i strengen er blankteikn.
svc.IsWhitespace(inputstr: str): bool
inputstr: Strengen som skal kontrollerast. Viss tom, returnerer metoden Usann
    MsgBox SF_String.IsWhitespace("    ") ' True
    MsgBox SF_String.IsWhitespace(" " & Chr(9) & Chr(10)) ' True
    MsgBox SF_String.IsWhitespace("") ' False
  Returnerer inndata-strengen midtstilt.
Dei innleiande og avsluttande blankteikna vert fjerna og teikna som er igjen vert supplerte til høgre og venstre opp til den gjevne totalsummen length med teiknet padding.
svc.JustifyCenter(inputstr: str, [length: int], [padding: str]): str
inputstr: Strengen som skal midtstillast. Viss tom, returnerer metoden ein tom streng.
length: Lengda på den resulterande strengen (standard = lengda på inndatastrengen).
Viss den gjevne strengen er kortare enn den midtstilte inndatastrengen, vert den returnerte strengen avkorta.
padding: Det enkeltteiknet som skal brukast som fyll (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 inndata-strengen venstrejustert.
Dei innleiande blankteikna vert fjerna og teikna som er igjen vert supplerte til høgre opp til den gjevne totalsummen length med teiknet padding.
svc.JustifyLeft(inputstr: str, [length: int], [padding: str]): str
inputstr: Strengen som skal venstrejusterast. Viss tom, returnerer metoden ein tom streng.
length: Lengda på den resulterande strengen (standard = lengda på inndatastrengen).
Viss den gjevne strengen er kortare enn den venstrejusterte inndatastrengen, vert den returnerte strengen avkorta.
padding: Det enkeltteiknet som skal brukast som fyll (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 inndata-strengen høgrejustert.
Dei innleiande blankteikna vert fjerna og teikna som er igjen vert supplerte til venstre opp til den gjevne totalsummen length med teiknet padding.
svc.JustifyRight(inputstr: str, [length: int], [padding: str]): str
inputstr: Strengen som skal høgrejusterast. Viss tom, returnerer metoden ein tom streng.
length: Lengda på den resulterande strengen (standard = lengda på inndatastrengen).
Viss den gjevne strengen er kortare enn den høgrejusterte inndatastrengen, vert den returnerte strengen avkorta.
padding: Det enkeltteiknet som skal brukast som fyll (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 mellom enkle eller doble hermeteikn. Hermeteikn som finst frå før vert ikkje endra, medrekna innleiande og/eller avsluttande hermeteikn.
svc.Quote(inputstr: str, [quotechar: str]): str
inputstr: Strengen som skal setjast mellom sitatteikn.
quotechar: Anten enkelt (') eller dobbelt (") hermeteikn (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 vera nyttig når du gjer klar eit strengfelt som skal lagrast i ei csv-liknande fil, noko som krev at tekstverdiar vert omgjevne av enkle eller doble sitatteikn.
Byter ut alle førekomstar av teikna som er gjevne i parameteren Before med dei tilsvarande teikna som er gjevne i After.
Viss lengda av Before er større enn lengda av After, vert dei resterande teikna i Before bytt ut med det siste teiknet i After.
svc.ReplaceChar(inputstr: str, before: str, after: str): str
inputstr: Inndata-strengen der bytinga skal skje.
before: Ein streng med teikna som det skal søkjast etter i inndatastrengen for å bytast ut.
after: Ein streng med nye teikn som skal bytast ut med dei som er definerte i before.
    ' Byter ut teikn med aksent
    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"
  Tenesta SF_String inneheld nyttige delte konstantar for dei latinske teiknsetta, som vist i eksempelet nedanfor:
    MsgBox SF_String.ReplaceChar("Protégez votre vie privée", SF_String.CHARSWITHACCENT, SF_String.CHARSWITHOUTACCENT)
    ' "Protegez votre vie privee"
  Byter ut alle førekomstar av eit gjeve regulært uttrykk med ein ny streng.
svc.ReplaceRegex(inputstr: str, regex: str, newstr: str, [casesensitive: bool]): str
inputstr: Inndata-strengen der bytinga skal skje.
regex: Det regulære uttrykket.
newstr: Erstatningsstrengen.
casesensitive: Søket kan skilja mellom store og små bokstavar eller ikkje (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." (kvar liten bokstav er erstatta 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." kvart ord er erstatta med «x»)
  Byter ut nokre eller alle førekomstane av ei matrise med strengar med ei matrise med nye strengar.
svc.ReplaceStr(inputstr: str, oldstr: str, newstr: str, [occurrences: int], [casesensitive: bool]): str
inputstr: Inndata-strengen der bytinga skal skje.
oldstr: Ein enkelt streng eller ei matrise av strengar. Strengar med null-lengd vert ignorerte.
newstr: Erstatningsstrengen eller ei matrise av erstatningsstrengar.
Viss oldstr er ei matrise, vert kvar førekomst av kva element som helst i oldstr bytt ut med newstr.
Viss oldstr og newstr er matriser, skjer bytinga ein etter ein opp til UBound(newstr).
Viss oldstr har fleire oppføringar enn newstr, vert restelementa i oldstr bytt ut med det siste elementet i newstr.
occurrences: Det høgaste talet på erstatningar. Standardverdien er 0, som gjer at alle førekomstane vert bytte ut.
Når oldstr er ei matrise, vert parameteren occurrence rekna ut enkeltvis for kvart element i matrisa.
casesensitive: Søket kan skilja mellom store og små bokstavar eller ikkje (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 ein streng med ein lesbar representasjon av argumentet, avkorta til ei gjeve lengd. Dette er nyttig stort sett for feilsøkings- eller loggingsføremål.
Viss parameteren anyvalue er eit objekt, vert det omgjeve av hakeparentesane «[» og «]».
I strengar vert tabulatorar og linjeskift byt ut med \t, \n eller \r.
Viss den endelege lengda er større enn malength-parameteren, vert den siste delen av strengen erstatta med « … (N)» der N er den totale lengda på den opphavlege strengen før avkortinga.
svc.Represent(anyvalue: any, [maxlength: int]): str
anyvalue: Inndataverdien som skal representerast. Det kan vera kva verdi som helst, for eksempel ein streng, ei matrise, eit Basic-objekt, eit UNO-objekt osv.
maxlength: Den maksimale lengda på den resulterande strengen. Standardverdien er 0, som gjer at det ikkje er noko grense for lengda på den resulterande 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]"
  Legg merke til at representasjonen av datatypar som matriser og ScriptForge.Dictionary objektførekomstar tek med både datatypen og verdiane:
    ' Et eksempel med ei innebygd Basic-matrise
    MsgBox SF_String.Represent(Array(1, 2, "Text" & Chr(9) & "here"))
    ' "[ARRAY] (0:2) (1, 2, Text\there)"
    ' Eit eksempel med ei 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)"
    ' Eit eksempel med ei 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 inndata-strengen i omvend rekkjefølgje.
Denne metoden svarar til den innebygde Basic-funksjonen StrReverse.
For å bruka funksjonen StrReverse må uttrykket OpTion VBASupport 1 vera tilstades i modulen.
svc.Reverse(inputstr: str): str
inputstr: Strengen som skal reverserast.
    MsgBox SF_String.Reverse("abcdefghij") ' "jihgfedcba"
  Returnerer ei null-basert matrise av strengar med linjene i inndatastrengen. Kvart element i matrisa vert hent ved å dela inndatastrengen ved linjeskiftteikna.
svc.SplitLines(inputstr: str, [keepbreaks: int]): str[0..*]
inputstr: Strengen som skal delast.
keepbreaks: Når denne er Sann, vert linjeskift ikkje endra i utdatamatrisa (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 ein streng inn i ei matrise av element ved hjelp av eit spesifisert skiljeteikn.
Viss ein delstreng sett mellom sitatteikn inneheld eit skiljeteikn, vert skiljeteiknet ignorert. Dette er nyttig når du analyserer CSV-liknande oppføringar som inneheld strengar i sitatteikn.
svc.SplitNotQuoted(inputstr: str, [delimiter: str], [occurrences: int], [quotechar: str]): str[0..*]
inputstr: Strengen som skal delast.
delimiter: Ein streng med eitt eller fleire teikn som skal brukast som skiljeteikn. Standard-skiljeteiknet er ASCII-mellomromsteiknet « ».
occurrences: Det høgaste talet på understrengar som skal returnerast. Standardverdien er 0, som betyr at det ikkje er noko grense for kor mange strengar som kan returnerast.
quotechar: Anten enkelt (') eller dobbelt (") hermeteikn.
    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""', '')
  Når du representerer strengar, ver merksam på skilnadane mellom Basic og Python. I Basic vert for eksempel to doble hermeteikn ("") i ein streng sett på som eitt enkelt dobbelt hermeteikn ("). I Python kan strengar i enkle hermeteikn innehalda doble hermeteikn (") uten å måtta dobla dei.
Returnerer Sann viss dei første teikna i ein streng er identiske med ein gjeven understreng.
Denne metoden returnerer Usann når ein streng eller ein understreng har lengd = 0 eller viss understrengen er lengre enn inndatastrengen.
svc.StartsWith(inputstr: str, substring: str, [casesensitive: bool]): bool
inputstr: Strengen som skal kontrollerast.
substring: Understrengen som skal søkjast i byrjinga av inputstr.
casesensitive: Søket kan skilja mellom store og små bokstavar eller ikkje (standard = Usann).
    MsgBox SF_String.StartsWith("abcdefg", "ABC") 'True
    MsgBox SF_String.StartsWith("abcdefg", "ABC", CaseSensitive := True) 'False
  Returnerer inndatastrengen utan innleiande eller avsluttande blankteikn.
svc.TrimExt(inputstr: str): str
inputstr: Strengen som skal trimmast.
    MsgBox SF_String.TrimExt(" Some text.  ") ' "Some text."
    MsgBox SF_String.TrimExt("   ABCDEF" & Chr(9) & Chr(10) & Chr(13) & " ") ' "ABCDEF"
  Omformar alle escape-sekvensar (\\, \n, \r, \t) i inndatastrengen til dei tilsvarande ASCII-teikna.
svc.Unescape(inputstr: str): str
inputstr: Strengen som skal konverterast.
    MsgBox SF_String.Unescape("abc\n\tdef\\n")
    ' "abc" & Chr(10) & Chr(9) & "def\n"
  Fjernar dei enkle eller doble hermeteikna som omsluttar inndatastrengen.
Dette er nyttig når du analyserer CSV-liknande oppføringar som inneheld strengar i hermeteikn.
svc.Unquote(inputstr: str, [quotechar: str]): str
inputstr: Strengen som sitatteikna skal fjernast frå.
quotechar: Anten enkelt (') eller dobbelt (") hermeteikn (standard).
    Dim s as String
    ' s = "Ein tekst" (utan omgjevande sitatteikn)
    s = SF_String.Unquote("""Some text""")
    ' Strengen nedanfor er ikkje omslutta med sitatteikn, så han vert ikkje endra
    ' s = "Ein tekst" (uendra)
    s = SF_String.Unquote("Some text")
    ' Hermeteikn inne i strengen vert ikkje fjerna
    ' s = "Den ""sanne"" meininga" (uendra)
    s = SF_String.Unquote("The ""true"" meaning")
  Konverterer inndatastrengen til ei matrise med delstrengar, slik at kvart element i matrisa har eit maksimalt gjeve tal på teikn.
I praksis returnerer denne metoden ei nullbasert matrise med utdatalinjer, utan nye linjer på slutten, bortsett frå dei linjeskifta som finst frå før.
Tabulatorane vert utvida med den same prosedyren utført av metoden ExpandTabs.
Symbolske linjeskift vert bytte ut med dei tilsvarande ASCII-teikna.
Viss dei skifte utdataa ikkje har noko innhald, er den returnerte matrisa tom.
svc.Wrap(inputstr: str, [width: int], [tabsize: int]): str
inputstr: Strengen som skal skiftast til ny linje.
width: Det høgaste talet på teikn i kvar linje (standard= 70).
tabsize: Før linjeskiftet vert TAB Chr(9)-teikna bytte ut med mellomrom. Argumentet tabsize definerer TAB-stopparane 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...')