LibreOffice 25.8 Hjælp
Tjenesten String (streng) leverer en samling af metoder til streng-behandling. Disse metoder kan bruges til:
Validere strengenes indhold
Formatere strenge ved at trimme, justere eller ombryde deres indhold.
Bruge regulære udtryk til at søge og erstatte understrenge
Anvende hash-algoritmer på strenge og så videre.
Tjenesten String (streng) genkender følgende linjeskift:
| Symbolic name (Symbolsk navn) | ASCII number (ASCII-nummer) | 
|---|---|
|              Linjeskift | 
             10  | 
Tjenesten String (streng) genkender disse blanktegn:
| Symbolic name (symbolsk navn) | ASCII number (ASCII-nummer) | 
|---|---|
|              Mellemrum | 
             32  | 
Herunder ses en liste over undvigesekvenser, der kan bruges i strenge.
| Escape Sequence (undvigesekvens) | Symbolic name (symbolsk navn) | ASCII number (ASCII-nummer) | 
|---|---|---|
| 
             \n  |              Linjeskift | 
             10  | 
For at få undvigelsessekvensen "\n" fortolket som som en faktisk streng, bruger du simpelthen "\\n" i stedet for "\" & Chr(10).
Tegn, der er i Unicode Character Database er defineret som “Other” (andet) eller “Separator” (skilletegn) anses som tegn, der ikke kan udskrives.
Kontrolkarakterer (ASCII-kode <= 0x1F = 31, dvs. før mellemrumstegn) bliver også betragtede som ikke-printbare.
Til at tilføje anførselstegn i strenge bruger du \' (enkelt anførselstegn) eller \" (dobbelt anførselstegn). For eksempel:
Strengen [str\'e\'ng] fortolkes som [str'e'ng]
Strengen [str\"e\"ng] fortolkes som [str"e"ng]
Før du bruge tjenesten ScriptForge.String (streng) skal biblioteket ScriptForge være hentet med:
      GlobalScope.BasicLibraries.loadLibrary("ScriptForge")
  Indlæsning af biblioteket vil oprette objektet SF_String, der kan bruges til kalde metoderne i tjenesten String.
De følgende kode-bidder viser de måder at kalde metoder fra tjenesten String (metoden Capitalize (kapitaliser) bruges 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
  Kode-bidden herunder illustrerer, hvordan metoder fra tjenesten String kaldes i Python-scripts. Metoden IsIPv4 bruges som eksempel.
    from scriptforge import CreateScriptService
    svc = CreateScriptService("String")
    ip_address = '192.168.0.14'
    svc.IsIPv4(ip_address) # True
  Objektet SF_String giver Basic-scripts følgende egenskaber:
| Navn | Skrivebeskyttet | Beskrivelse | 
|---|---|---|
| sfCR | Yes (ja) | Carriage return (Vognretur): Chr(13) | 
| sfCRLF | Yes (ja) | Carriage return + Linefeed (Vognretur + Linjeskift): Chr(13) & Chr(10) | 
| sfLF | Yes (ja) | Linefeed (linjeskift): Chr(10) | 
| sfNEWLINE | Yes (ja) | Carriage return + Linefeed (vognretur + linjeskift), som kan være | 
| sfTAB | Yes (ja) | Horizontal tabulation (vandret tabulator): Chr(9) | 
Du kan bruge egenskaberne herover til at identificere eller indsætte de tilsvarende tegn i strenge. For eksempel kan tegnet Linjeskift erstattes med SF_String.sfLF.
| Liste over metoder i tjenesten String (tekststrenge) | ||
|---|---|---|
| 
             Capitalize | 
             IsFileName | 
             JustifyRight | 
Det første argument i de fleste metoder er strengen, der skal behandles. Den overføres altid som henvisning og efterlades uændret. Metoder såsom Capitalize (Skriv med Stort), Escape (Undgå) og så videre returnerer en ny streng efter udførelsen af dem.
Fordi Python har en omfattende, indbygget understøttelse af strenge. De fleste af metoderne i tjenesten String er udelukkende tilgængelige med Basic-scripts. De metoder, der tilgængelige for Basic- og Python er: HashStr, IsADate (er_dato), IsEmail (er_e-mail), IsFileName (er_filnavn), IsIBAN (er_IBAN), IsIPv4 (er_IPv4), IsLike (ligner), IsSheetName (er_arknavn), IsUrl (er_URI), SplitNotQuoted (???) og Wrap (ombryd).
Skriver Første Bogstav Med Stort i hvert ord i input-strengen.
svc.Capitalize(inputstr: str): str
inputstr: Den streng, der skal skrives med Stort.
    Dim sName as String : sName = "john smith"
    Dim sCapitalizedName as String
    sCapitalizedName = SF_String.Capitalize(sName)
    MsgBox sCapitalizedName 'John Smith
  Tæller antallet af forekomster af en understreng eller et regulært udtryk inde i en streng.
svc.Count(inputstr: str, substring: str, [isregex: bool], [casesensitive: bool]): int
inputstr: Den input-streng, der skal undersøges
delstreng (understreng): Den delstreng eller det regulære udtryk, der skal bruges under søgningen
isregex (er_regex): Brug True (sand), hvis understrengen er et regulært udtryk ( standard = False (falsk))
Forskel på store og små bogstaver: Søgningen kan skelne mellem store og små bogstaver eller ikke (Standard = False (FALSK)).
    'Tæller forekomsterne af delstrengen "eller " inde i input-strengen (returnerer 2)
    MsgBox SF_String.Count("Lorem ipsum dolor sit amet, consectetur adipiscing elit.", "or", CaseSensitive := False)
    'Tæller antallet af ord med udelukkende små bogstaver (returnerer 7)
    MsgBox SF_String.Count("Lorem ipsum dolor sit amet, consectetur adipiscing elit.", "\b[a-z]+\b", IsRegex := True, CaseSensitive := True)
  Få mere at vide om regulære udtryk ved at se Pythons dokumentation om Regular Expression Operations.
Returnerer True (sand), hvis en streng slutter med en angiven delstreng.
Funktionen returnerer False (falsk), når enten en streng eller en delstreng har længden = 0 eller når delstrengen er længere end strengen.
svc.EndsWith(inputstr: str, substring: str, [casesensitive: bool]): bool
inputstr: Den streng, der skal testes.
substring (delstreng): Den delstreng, der søges fra slutningen af inputstr.
Forskel på store og små bogstaver: Søgningen kan skelne mellem store og små bogstaver eller ikke (Standard = False (FALSK)).
    'Returnerer True, fordi metoden blev kaldt med standarden CaseSensitive (Stort og småt) = False (falsk)
    MsgBox SF_String.EndsWith("abcdefg", "EFG")
    'Returnerer False på grund af parameteren CaseSensitive
    MsgBox SF_String.EndsWith("abcdefg", "EFG", CaseSensitive := True)
  Konverterer linjeskift og tabulatorstop, der er indeholdt i input-strengen, til deres tilsvarende undvigelsessekvenser (\\, \n, \r, \t).
svc.Escape(inputstr: str): str
inputstr: Den streng, der skal konverteres.
    'Returnerer the strengen "abc\n\tdef\\n"
    MsgBox SF_String.Escape("abc" & Chr(10) & Chr(9) & "def\n")
  Erstatter Tabulator-tegn Chr(9) med mellemrum for at gentage tabulatorstoppenes adfærd..
Hvis der findes et linjeskift, startes en ny linje og tegntælleren nulstillles.
svc.ExpandTabs(inputstr: str, [tabsize: int]): str
inputstr: Den streng, der skal udvides
tabsize (tabulatorafstand): Denne parameter bruges til at bestemme Tabulatorstop med formlen: 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 tegn, der ikke kan udskrives, i input-strengen med et givet tegn.
svc.FilterNotPrintable(inputstr: str, [replacedby: str]): str
inputstr: Den streng, der skal søges
replacedby (erstattet af): Intet, et eller flere tegn, der skal erstatte alle tegn, der ikke kan udskrives 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"
  Finder en delstreng, der matcher et givet regulært udtryk, i en streng.
svc.FindRegex(inputstr: str, regex: str, [start: int], [casesensitive: bool], [forward: bool]): str
inputstr: Den streng, der skal søges
regex: Det regulære udtryk
start: Den placering, hvor søgningen skal begynde, Denne parameter videregives som henvisning, således af værdien af start efter udførelsen vil pege på det første tegn af den fundne delstreng, Hvis der ikke findes nogen matchende delstreng, bliver start sat til 0.
Forskel på store og små bogstaver: Søgningen kan skelne mellem store og små bogstaver eller ikke (Standard = False (FALSK)).
forward (fremad): Bestmmer søgningens retning. Når True (sand), bevæger søgningen sig fremad. Hvis False (falsk), bevæger søgningen sig baglæns (Standard = True (sand))
Hvis forward = True (fremad = sand) i den første gentagelse, bør start være lig med 1, men hvis forward = False (fremad = falsk) bør start være lig med Len(inputstr) (længde(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 lStarts nye værdi bruges til at blive ved med at søge i den samme input-streng ved at sætte parameteren Start til lStart + Len(result) (lStart + længde(resultat)) i den næste gentagelse.
Hash-funktioner bruges indenfor nogle kryptografiske algoritmer, i digitale signaturer, beskeders autentifikationskoder, afsløring af manipulation, fingeraftrryk, tjeksummer (integritetstjek af beskeder) hash-tabeller, lagring af adgangskoder og meget mere.
Metoden HashStr returnerer resultatet af en hash-funktionen anvendt på en givet streng og med en angiver algoritme, som en streng af hexadecimale cifre med små bogstaver.
De understøttede hash-algoritmer er: MD5, SHA1, SHA224, SHA256, SHA384 and SHA512.
svc.HashStr(inputstr: str, algorithm: str): str
inputstr: Den streng, der skal hashes. den forudsættes at være indkodet i UTF-8. Hashing algoritmen vil betragte strengen som en strøm af bytes.
algoritme: En af de understøttede algoritmer, oplistet ovenfor, videregivet 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
  Indkoder input-strengen som HTML-tegnkoder og erstatter specialtegn med deres & modparter.
Tegnet é bliver for eksempel erstattet med é eller en tilsvarende numerisk HTML-kode.
svc.HtmlEncode(inputstr: str): str
inputstr: Den streng, der skal indkodes.
    MsgBox SF_String.HtmlEncode("<a href=""https://a.b.com"">From α to ω</a>")
    ' "<a href="https://a.b.com">From α to ω</a>"
  Returnerer True (sand), hvis input-strengen er en gyldig dato efter et bestemt datoformat.
svc.IsADate(inputstr: str, [dateformat: str]): bool
inputstr: Den streng, der skal tjekkes, Hvis tom, returnerer metoden False (falsk)
datoformat: Datoformatet som en streng. Det kan være enten "YYYY-MM-DD" (Standard), "DD-MM-YYYY" eller "MM-DD-YYYY"
Bindestregen (-) kan erstatttes af et punktum (.), en skråstreg (/) eller et mellemrum.
Hvis formatet er ugyldigt, returnerer metoden False (falsk).
    MsgBox SF_String.IsADate("2020-12-31", "YYYY-MM-DD") ' True
  Denne metode tjekker input-strengens format uden af udføre nogen kalender-specifikke tjeks. Derfor tester den ikke input-strengen for skudår eller måneder med 30 eller 31 dage. Dertil henvises du til den indbyggede funktion IsDate (er dato).
Eksemplet herunder viser forskellen mellem metoderne IsADate (er en dato) (ScriptForge) og den (indbyggede) funktion IsDate (er dato).
    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 True (sand), hvis alle tegn i strengen er alfabetiske.
Alfabetiske tegn er de tegn, der i Unicode Character Database er defineret som Letter (bogstav).
svc.IsAlpha(inputstr: str): bool
inputstr: Den streng, der skal tjekkes. Hvis tom, returnerer metoden False (falsk).
    MsgBox SF_String.IsAlpha("àénΣlPµ") ' True
    MsgBox SF_String.IsAlpha("myVar3") ' False
  Returnerer True (sand), hvis alle tegn i strengen er alfabetiske, cifre eller "_" (understregning). Det første tegn må ikke være et ciffer.
svc.IsAlphaNum(inputstr: str): bool
inputstr: Den streng, der skal tjekkes. Hvis tom, returnerer metoden False (falsk).
    MsgBox SF_String.IsAlphaNum("_ABC_123456_abcàénΣlPµ") ' True
    MsgBox SF_String.IsAlphaNum("123ABC") ' False
  Returnerer True hvis alle tegn i strengen er ASCII-tegn.
svc.IsAscii(inputstr: str): bool
inputstr: Den streng, der skal tjekkes. Hvis tom, returnerer metoden False (falsk).
    MsgBox SF_String.IsAscii("a%?,25") ' True
    MsgBox SF_String.IsAscii("abcàénΣlPµ") ' False
  Returnerer True (sand), hvis alle tegn i strengen er cifre.
svc.IsDigit(inputstr: str): bool
inputstr: Den streng, der skal tjekkes. Hvis tom, returnerer metoden False (falsk).
    MsgBox SF_String.IsDigit("123456") ' True
    MsgBox SF_String.IsDigit("_12a") ' False
  Returnerer True (sand), hvis strengen er en gyldig e-mailadresse.
svc.IsEmail(inputstr: str): bool
inputstr: Den streng, der skal tjekkes. Hvis tom, returnerer metoden False (falsk).
    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 True (sand), hvis strengen er et gyldigt filnavn i et givet operativsystem.
svc.IsFileName(inputstr: str, [osname: str]): bool
inputstr: Den streng, der skal tjekkes. Hvis tom, returnerer metoden False (falsk).
osnavn: Operativsystemets navn som en streng. Det kan være "WINDOWS", "LINUX", "MACOSX" eller "SOLARIS".
Standardværdien er det aktuelle operativsystem, som scriptet kø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 True (sand), hvis alle tegn i strengen er hexadecimale cifre.
svc.IsHexDigit(inputstr: str): bool
inputstr: Den streng, der skal tjekkes. Hvis tom, returnerer metoden False (falsk).
De hexadecimale cifre kan have præfixet "0x" eller "&H".
    MsgBox SF_String.IsHexDigit("&H00FF") ' True
    MsgBox SF_String.IsHexDigit("08AAFF10") ' True
    MsgBox SF_String.IsHexDigit("0x18LA22") ' False
  Returnerer True (sand), hvis strenge er et gyldig Internationalt Bank Account (konto) Nummer (IBAN). Sammenligningen skelner ikke mellem stort og småt.
svc.IsIBAN(inputstr: str): bool
inputstr: Den streng, der skal tjekkes. Hvis tom, returnerer metoden False (falsk).
True (sand), hvis strengen indeholder et gyldigt 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 True (sand), hvis strengen er en gyldig IP-adresse (v4).
svc.IsIPv4(inputstr: str): bool
inputstr: Den streng, der skal tjekkes. Hvis tom, returnerer metoden False (falsk).
    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 True (sand), hvis hele input-strengen matcher et givet mønster med jokere.
svc.IsLike(inputstr: str, pattern: str, [casesensitive: bool]): bool
inputstr: Den streng, der skal tjekkes. Hvis tom, returnerer metoden False (falsk).
mønster: Mønstret som en streng. Jokerne er:
"?" repræsenterer et vilkårligt enkelttegn;
"*" repræsenterer intet, et eller flere tegn.
Forskel på store og små bogstaver: Søgningen kan skelne mellem store og små bogstaver eller ikke (Standard = False (FALSK)).
    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 True (sand), hvis alle tegn i strengen er små bogstaver. Ikke-alfabetiske tegn ignoreres.
svc.IsLower(inputstr: str): bool
InputStr: Strengen, der skal tjekkes. hvis tom, returnerer metoden False (falsk).
    MsgBox SF_String.IsLower("abc'(-xy4z") ' True
    MsgBox SF_String.IsLower("1234") ' True
    MsgBox SF_String.IsLower("abcDefg") ' False
  Returnerer True (sand), hvis alle tegn i strengen kan udskrives.
svc.IsPrintable(inputstr: str): bool
inputstr: Den streng, der skal tjekkes. Hvis tom, returnerer metoden False (falsk).
    MsgBox SF_String.IsPrintable("àén ΣlPµ Русский") ' True
    MsgBox SF_String.IsPrintable("First line." & Chr(10) & "Second Line.") ' False
  Returnerer True (sand), hvis hele input-strengen matcher et givet regulært udtryk.
svc.IsRegex(inputstr: str, regex: str, [casesensitive: bool]): bool
inputstr: Den streng, der skal tjekkes. Hvis tom, returnerer metoden False (falsk).
regex: Det regulære udtryk. Hvis tom, returnerer metoden False (falsk).
Forskel på store og små bogstaver: Søgningen kan skelne mellem store og små bogstaver eller ikke (Standard = False (FALSK)).
        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 (sand), hvis input-strengen er et gyldigt arknavn i Calc.
svc.IsSheetName(inputstr: str): bool
inputstr: Den streng, der skal tjekkes. Hvis tom, returnerer metoden False (falsk).
    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 indeholder tegnene [ ] * ? : / \ eller tegnet ' (apostrof) som første eller sidste tegn.
Returnerer True (sand), hvis det første tegn i hvert ord er skrevet med Stort og alle andre tegn er små.
svc.IsTitle(inputstr: str): bool
inputstr: Den streng, der skal tjekkes. Hvis tom, returnerer metoden False (falsk).
    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 True (sand), hvis alle bogstaver i strengen er skrevet med Store bogstaver. Ikke-alfabetiske tegn ignoreres.
svc.IsUpper(inputstr: str): bool
inputstr: Den streng, der skal tjekkes. Hvis tom, returnerer metoden False (falsk).
    MsgBox SF_String.IsUpper("ABC'(-XYZ") ' True
    MsgBox SF_String.IsUpper("A Title") ' False
  Returnerer True (sand), hvis strengen er en gyldig absolut URL- (Uniform Resource Locator) -adresse. Kun protokollerne http, https og ftp understøttes.
svc.IsUrl(inputstr: str): bool
inputstr: Den streng, der skal tjekkes. Hvis tom, returnerer metoden False (falsk).
    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 True (sand), hvis alle tegn i strengen er blanktegn
svc.IsWhitespace(inputstr: str): bool
inputstr: Den streng, der skal tjekkes. Hvis tom, returnerer metoden False (falsk).
    MsgBox SF_String.IsWhitespace("    ") ' True
    MsgBox SF_String.IsWhitespace(" " & Chr(9) & Chr(10)) ' True
    MsgBox SF_String.IsWhitespace("") ' False
  Returnerer input-strengen centreret.
De indledende og afsluttende hvide mellemrum fjernes og de resterende tegn udfyldes til venste og højre op til den angivne samlede length (længde) med padding polstringstegnet.
svc.JustifyCenter(inputstr: str, [length: int], [padding: str]): str
inputstr: Den streng, der skal centreres. Hvis tom, returnerer metoden en tom streng.
length (længde): Længden på den resulterende streng (standard =længden på input-strengen).
Hvis den angivne længde er kortere den centrerede input-streng, afkortes den returnerede streng.
padding (udfyldning): Det enkelttegn, der skal bruges som udfyldning (standard = ASCII-mellemrumstegn " ").
    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 input-strengen venstrejustereret.
De indledende hvide mellemrum fjernes og de resterende tegn suppleres til højre med op til en angivet samlet length (længde) med padding polstringstegnet.
svc.JustifyLeft(inputstr: str, [length: int], [padding: str]): str
inputstr: Den streng, der skal venstrejusteres. Hvis tom, returnerer metoden en tom streng.
længde: Længden af den resulterende streng (standard= input-strengens længde).
Hvis den angivne længde er kortere end den venstrejusterede input-streng, afkortes den returnerede streng.
padding (udfyldning): Det enkelttegn, der skal bruges som udfyldning (standard = ASCII-mellemrumstegn " ").
    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 input-strengen højrejusteret.
De indledende hvide mellemrum fjernes og de resterende tegn suppleres til venstre med op til en angivet samlet length (længde) med padding polstringstegnet.
svc.JustifyRight(inputstr: str, [length: int], [padding: str]): str
inputstr: Den streng, der skal højrejusteres. Hvis tom, returnerer metoden en tom streng.
længde: Længden af den resulterende streng (standard= input-strengens længde).
Hvis den angivne længde er kortere end den højre-justerede streng, afkortes den returnerede streng.
padding (udfyldning): Det enkelttegn, der skal bruges som udfyldning (standard = ASCII-mellemrumstegn " ").
    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 input-strengen omgivet af enkelte eller dobbelte anførselstegn. Eksisterende anførselstegn efterlades uændrede, herunder indledende og afsluttende anførselstegn.
svc.Quote(inputstr: str, [quotechar: str]): str
inputstr: Den streng, der skal citeres.
anførselstegn: Enten enkelt (') eller dobbelt (") 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 metode kan være nyttig, når du forbereder et streng-felt, der skal gemmes i en CSV-lignende fil, hvilket kræver, at tekstværdierne er omgivet af enkelte eller dobbelte anførselstegn.
Erstatter alle forekomster af de tegn, der er angivet i parameteren Before (før) med de tilsvarende tegn, der er angivet i After (efter).
Hvis længden af Before (før) er større end længden af After (efter) erstattes de resterende tegn i Before med det sidste tegn i After.
svc.ReplaceChar(inputstr: str, before: str, after: str): str
inputstr: Den input-streng, som erstatninger sker på.
før: En streng med de tegn, der søges efter i input-strengen til erstatning,
efter: En med de nye tegn, der skal er dem, der er defineret i før.
    ' Erstatter tegn med accenter
    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 leverer nyttige delte konstanter til de latinske tegnsæt, som vist i eksemplet herunder:
    MsgBox SF_String.ReplaceChar("Protégez votre vie privée", SF_String.CHARSWITHACCENT, SF_String.CHARSWITHOUTACCENT)
    ' "Protegez votre vie privee"
  Erstatter alle forekomster af et givet regulært udtryk med en ny streng.
svc.ReplaceRegex(inputstr: str, regex: str, newstr: str, [casesensitive: bool]): str
inputstr: Den input-streng, hvor erstatninger skal ske.
regex: Det regulære udtryk.
nystr: Erstatningsstrengen.
Forskel på store og små bogstaver: Søgningen kan skelne mellem store og små bogstaver eller ikke (Standard = False (FALSK)).
    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." (hvert lille bogstav er erstattet 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 nogle eller alle forekomster af et array af strenge i en streng med et array af nye strenge.
svc.ReplaceStr(inputstr: str, oldstr: str, newstr: str, [occurrences: int], [casesensitive: bool]): str
inputstr: Den input-streng, hvor erstatninger skal ske.
oldstr: En enkelt streng eller et matrix af strenge . Nul-længde strenge ignorereres.
newstr: Den erstattende streng eller en matrix af erstattende strenge.
If oldstrer en matrix, hver enkelt af et vilkårligt element i oldstr erstattes med newstr.
Hvis oldstr og newstr er matrixer, sker erstatninger en for en frem til UBound(newstr).
Hvis oldstr har flere elementer end newstr, erstattes de resterende elementer i oldstr af det sidste element i newstr.
occurrences: Det maksimale antal erstatninger. Standardværdien er 0, hvilket betyder at alle forekomster bliver erstattet.
Når oldstr er et array, beregnes parameteren occurrence (forekomst) enkeltvis for hvert element i arrayet.
Forskel på store og små bogstaver: Søgningen kan skelne mellem store og små bogstaver eller ikke (Standard = False (FALSK)).
    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 læselig repræsentation af argumentet, afkortet til en given længde. Detter er nyttigt, hovedsagelig til aflusnings- og logging-formål.
Hvis parameteren anyvalue (vilkårlig_værdi) er et objekt, bliver det omgivet med firkantede klammer "[" og "]".
I strenge erstattes tabulatorer og linjeskift med \t, \n eller \r.
Hvis den samlede længde overstiger parameteren maxlength (maksimal_længde), bliver den sidste del af strengen erstattet med " ... (N)", hvor N er den samlede længde af den originale streng før trunkering.
svc.Represent(anyvalue: any, [maxlength: int]): str
vilkårlig_værdi: Den input-værdi, der skal repræsenteres. Det kan være enhver værdi, som en streng, en matrix, et Basic-objekt, et UNO-objekt og så videre.
maksimal_længde: Den største længde af den resulterende streng. Standardværdien er =, hvilket betyder, at er der ikke er nogen begrænsning af den resulterende repræsentation.
    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]"
  Bemærk, at repræsentationen af datatyper som Arrays og instanser af ScriptForge.Dictionary (.ordbog) omfatter både datatype og værdier:
    ' Et eksempel med en indbygget Basic-matrix
    MsgBox SF_String.Represent(Array(1, 2, "Text" & Chr(9) & "here"))
    ' "[ARRAY] (0:2) (1, 2, Text\there)"
    Et eksempel med et ScriptForge-matrix
    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-ordbog
    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 input-strengen i omvendt rækkefølge.
Denne metode ligner den indbyggede Basic-funktion StrReverse.
For at bruge funktionen StrReverse (omvend_streng), skal udtrykket Option VBASupport 1 findes i modulet.
svc.Reverse(inputstr: str): str
inputstr: Den streng, der skal vendes.
    MsgBox SF_String.Reverse("abcdefghij") ' "jihgfedcba"
  Returnerer en nul-baseret matrix af strenge med linjerne i input-strengen. Hvert element i matrixen er opnået ved at opdele inputstrengen ved linjeskift-tegn.
svc.SplitLines(inputstr: str, [keepbreaks: int]): str[0..*]
inputstr: Den streng, der skal deles.
keepbreaks (behold_skift): Når True (sand), bevares linjeskift i output-matrixen (standard = False (falsk)).
    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", "")
  Opdeler en streng i en matrix af elementer med et angivet skilletegn.
Hvis en delstreng i anførselstegn indeholder et skilletegn, ignoreres det. Dette er nyttigt, når du parser CSV-lignende poster, der indeholder strenge i anførselstegn.
svc.SplitNotQuoted(inputstr: str, [delimiter: str], [occurrences: int], [quotechar: str]): str[0..*]
inputstr: Den streng, der skal deles.
delimiter (skilletegn): En streng af et eller flere tegn, der vil blive brugt som skilletegn. Standard-skilletegnet er ASCII-mellemrumstegnet " ".
occurrences: Det højeste antal delstrenge, der skal returneres. Standardværdien er 0, hvilket betyder, at der ikke er nogen grænse for antallet af returnerede strenge.
anførselstegn: Enten det enkelte (') eller det dobbelte (") 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""', '')
  Husk på forskellen mellem Basic og Python, når de repræsenterer strenge. I Basic fortolkes for eksempel to "" tegn inde i en streng som et enkelt " tegn. I Python kan strenge, der er omgivet med enkelte anførselstegn, indeholde "-tegn uden at det er nødvendigt at fordoble dem.
Returnerer True (sand), hvis de første tegn i en streng er identiske med en given delstreng.
Denne metode returnerer False ()falsk, Hvis enten input-strengen eller delstrengen har længden = 0 eller når delstrengen er længere end input-strengen.
svc.StartsWith(inputstr: str, substring: str, [casesensitive: bool]): bool
inputstr: Den streng, der skal testes.
delstreng: Den delstreng, der skal søges i begyndelsen af inputstr.
Forskel på store og små bogstaver: Søgningen kan skelne mellem store og små bogstaver eller ikke (Standard = False (FALSK)).
    MsgBox SF_String.StartsWith("abcdefg", "ABC") 'True
    MsgBox SF_String.StartsWith("abcdefg", "ABC", CaseSensitive := True) 'False
  Returnerer input-strengen uden dens indledende og afsluttende blanktegn.
svc.TrimExt(inputstr: str): str
inputstr: Den streng, der skal trimmes.
    MsgBox SF_String.TrimExt(" Some text.  ") ' "Some text."
    MsgBox SF_String.TrimExt("   ABCDEF" & Chr(9) & Chr(10) & Chr(13) & " ") ' "ABCDEF"
  Konverterer enhver escape-sekvens ((\\, \n, \r, \t) i inputstrengen til deres tilsvarende ASCII-tegn.
svc.Unescape(inputstr: str): str
inputstr: Den streng, der skal konverteres.
    MsgBox SF_String.Unescape("abc\n\tdef\\n")
    ' "abc" & Chr(10) & Chr(9) & "def\n"
  Fjerner de enkelte eller dobbelte anførselstegn, der omgiver input-strengen.
Dette er nyttigt, når du parser CSV-lignende poster, der indeholder strenge i anførselstegn.
svc.Unquote(inputstr: str, [quotechar: str]): str
inputstr: Den streng, hvor anførselstegnene skal fjernes.
anførselstegn: Enten enkelte (') eller dobbelte (") anførselstegn (standard).
    Dim s as String
    ' s = "Noget tekst" (uden omgivende anførselstegn)
    s = SF_String.Unquote("""Some text""")
    'Strengen herunder har ikke omgivende anførselstegn, derfor forbliver den uændret
    ' s = "Noget tekst" (uændret)
    s = SF_String.Unquote("Some text")
    ' Anførselstegn inde i strengen fjernes ikke
    ' s = "Den ""sande"" betydning" (uændret)
    s = SF_String.Unquote("The ""true"" meaning")
  Konverterer input-strengen til en matrix af delstrenge, sådan at hvert element i matrixen højst har et givet antal tegn.
I praksis returnerer denne metode en nul-baseret matrix af output-linjer uden ny linje i slutningen, undtagen ved de allerede eksisterede linjeskift.
Tabulatorerne udvides med den samme procedure udført af metoden ExpandTabs (udvid faneblade).
Symbolske linjeskift bliver erstattede med deres tilsvarende ASCII-tegn.
Hvis det ombrudte output ikke har noget indhold, er den returnerede matrix tom.
svc.Wrap(inputstr: str, [width: int], [tabsize: int]): str
inputstr: Den streng, der skal ombrydes.
bredde: Det maksimale antal tegn i hver linje (standard= 70).
tabulatorafstand: Før teksten ombrydes, erstattes de eksisterende Tabulator- Chr(9) -tegn med mellemrum. Argumentet tabulatorafstand definerer Tabulatorstop på Tabulatorafstand+ 1, 2 * tTabulatorafstand + 1 , ... N * TabSize + 1 (Default = 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...')