Tulong sa LibreOffice 25.8
Ang String nagbibigay ang serbisyo ng isang koleksyon ng mga pamamaraan para sa pagproseso ng string. Ang mga pamamaraang ito ay maaaring gamitin sa:
Patunayan ang mga nilalaman ng mga string
I-format ang mga string sa pamamagitan ng pag-trim, pagbibigay-katwiran o pagbabalot ng mga nilalaman nito
Gumamit ng mga regular na expression upang maghanap at palitan ang mga substring
Ilapat ang mga algorithm ng hash sa mga string, atbp.
Ang String Kinikilala ng serbisyo ang mga sumusunod na line break:
| Simbolikong pangalan | Numero ng ASCII | 
|---|---|
|              Line feed | 
             10  | 
Ang String Kinikilala ng serbisyo ang mga sumusunod na whitespace:
| Simbolikong pangalan | Numero ng ASCII | 
|---|---|
|              kalawakan | 
             32  | 
Nasa ibaba ang isang listahan ng mga escape sequence na maaaring gamitin sa mga string.
| Pagkakasunud-sunod ng Pagtakas | Simbolikong pangalan | Numero ng ASCII | 
|---|---|---|
| 
             \n  |              Line feed | 
             10  | 
Upang mabigyang-kahulugan ang escape sequence na "\n" bilang isang aktwal na string, gamitin lang ang "\\n" sa halip na "\" at Chr(10).
Ang mga character na tinukoy sa Unicode Character Database bilang "Iba pa" o "Separator" ay itinuturing na hindi napi-print na mga character.
Ang mga control character (ASCII code <= 0x1F) ay itinuturing din na hindi napi-print.
Upang magdagdag ng mga quote sa mga string, gamitin ang \' (iisang quote) o \" (double quote). Halimbawa:
Ang string [str\'i\'ng] ay binibigyang kahulugan bilang [Str'i'ng]
Ang string [str\"i\"ng] ay binibigyang kahulugan bilang [str"i"ng]
Bago gamitin ang ScriptForge.String serbisyo ang ScriptForge kailangang i-load ang library gamit ang:
      GlobalScope.BasicLibraries.loadLibrary("ScriptForge")
  Ang paglo-load sa library ay lilikha ng SF_String bagay na maaaring gamitin upang tawagan ang mga pamamaraan sa String serbisyo.
Ipinapakita ng mga sumusunod na snippet ng code ang tatlong paraan ng pagtawag sa mga pamamaraan mula sa String serbisyo (ang I-capitalize paraan ay ginagamit bilang isang halimbawa):
    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
  Ang code snippet sa ibaba ay naglalarawan kung paano mag-invoke ng mga pamamaraan mula sa String serbisyo sa mga script ng Python. Ang IsIPv4 paraan ay ginagamit bilang isang halimbawa.
    from scriptforge import CreateScriptService
    svc = CreateScriptService("String")
    ip_address = '192.168.0.14'
    svc.IsIPv4(ip_address) # True
  Ang SF_String Ang object ay nagbibigay ng mga sumusunod na katangian para sa mga Pangunahing script:
| Pangalan | ReadOnly | Mga nilalaman | 
|---|---|---|
| sfCR | Mayroon | Pagbabalik ng karwahe: Chr(13) | 
| sfCRLF | Mayroon | Pagbabalik ng karwahe + Linefeed: Chr(13) at Chr(10) | 
| sfLF | Mayroon | Linefeed: Chr(10) | 
| sfNEWLINE | Mayroon | Carriage return + Linefeed, na maaaring | 
| sfTAB | Mayroon | Pahalang na tabulasyon: Chr(9) | 
Maaari mong gamitin ang mga katangian sa itaas upang tukuyin o ipasok ang mga kaukulang character sa loob ng mga string. Halimbawa, ang Linefeed ay maaaring palitan ng SF_String.sfLF .
Ang unang argumento ng karamihan sa mga pamamaraan ay ang string na isasaalang-alang. Ito ay palaging ipinapasa sa pamamagitan ng sanggunian at hindi nagbabago. Mga pamamaraan tulad ng I-capitalize , tumakas , atbp ay nagbabalik ng bagong string pagkatapos ng kanilang pagpapatupad.
Dahil ang Python ay may komprehensibong built-in na suporta sa string, karamihan sa mga pamamaraan sa String ang serbisyo ay magagamit lamang para sa mga Pangunahing script. Ang mga pamamaraan na magagamit para sa Basic at Python ay: HashStr , IsADate , IsEmail , IsFileName , IsIBAN , IsIPv4 , AyLike , IsSheetName , IsUrl , SplitNotQuoted at Balutin .
I-capitalize ang unang character mula sa bawat salita sa input string.
svc.Capitalize(inputstr: str): str
inputstr : Ang string na dapat i-capitalize.
    Dim sName as String : sName = "john smith"
    Dim sCapitalizedName as String
    sCapitalizedName = SF_String.Capitalize(sName)
    MsgBox sCapitalizedName 'John Smith
  Binibilang ang bilang ng mga paglitaw ng isang substring o isang regular na expression sa loob ng isang string.
svc.Count(inputstr: str, substring: str, [isregex: bool], [casesensitive: bool]): int
inputstr : Ang input string na susuriin
substring : Ang substring o ang regular na expression na gagamitin sa paghahanap
isregex : Gamitin totoo kung ang substring ay isang regular na expression (Default = Mali )
casesensitive : Ang paghahanap ay maaaring case sensitive o hindi (Default = Mali ).
    'Binibilang ang mga paglitaw ng substring "o" sa loob ng input string (nagbabalik ng 2)
    MsgBox SF_String.Count("Lorem ipsum dolor sit amet, consectetur adipiscing elit.", "or", CaseSensitive := False)
    'Binibilang ang bilang ng mga salita na may maliliit na titik lamang (nagbabalik ng 7)
    MsgBox SF_String.Count("Lorem ipsum dolor sit amet, consectetur adipiscing elit.", "\b[a-z]+\b", IsRegex := True, CaseSensitive := True)
  Upang matuto nang higit pa tungkol sa mga regular na expression, sumangguni sa dokumentasyon ng Python sa Mga Regular na Ekspresyon na Operasyon .
Nagbabalik totoo kung ang isang string ay nagtatapos sa isang tinukoy na substring.
Nagbabalik ang function Mali kapag ang string o ang substring ay may haba = 0 o kapag ang substring ay mas mahaba kaysa sa string.
svc.EndsWith(inputstr: str, substring: str, [casesensitive: bool]): bool
inputstr : Ang string na susuriin.
substring : Ang substring na hahanapin sa dulo ng inputstr .
casesensitive : Ang paghahanap ay maaaring case sensitive o hindi (Default = Mali ).
    'Nagbabalik ng Tama dahil ang pamamaraan ay tinawag na may default na CaseSensitive = False
    MsgBox SF_String.EndsWith("abcdefg", "EFG")
    'Nagbabalik ng Mali dahil sa CaseSensitive na parameter
    MsgBox SF_String.EndsWith("abcdefg", "EFG", CaseSensitive := True)
  Kino-convert ang mga linebreak at tab na nakapaloob sa input string sa kanilang katumbas na escaped sequence (\\, \n, \r, \t).
svc.Escape(inputstr: str): str
inputstr : Ang string na iko-convert.
    'Ibinabalik ang string na "abc\n\tdef\\n"
    MsgBox SF_String.Escape("abc" & Chr(10) & Chr(9) & "def\n")
  Pinapalitan ang mga character ng Tab Chr(9) sa pamamagitan ng mga space character upang gayahin ang gawi ng mga tab stop.
Kung may nakitang line break, magsisimula ang isang bagong linya at ire-reset ang character counter.
svc.ExpandTabs(inputstr: str, [tabsize: int]): str
inputstr : Ang string na palawakin
tabsize : Ginagamit ang parameter na ito upang matukoy ang mga paghinto ng Tab gamit ang formula: TabSize + 1, 2 * TabSize + 1 , ... N * TabSize + 1 (Default = 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
  Pinapalitan ang lahat ng hindi napi-print na character sa input string ng isang ibinigay na character.
svc.FilterNotPrintable(inputstr: str, [replacedby: str]): str
inputstr : Ang string na hahanapin
pinalitan ng : Zero, isa o higit pang character na papalit sa lahat ng hindi napi-print na character inputstr (Default = "")
    Dim LF : LF = Chr(10)
    Dim myText as String
    myText = "àén ΣlPµ" & LF & " Русский" & "\n"
    MsgBox SF_String.FilterNotPrintable(myText)
    ' "àén ΣlPµ Русский\n"
  Nakahanap sa isang string ng isang substring na tumutugma sa isang ibinigay na regular na expression.
svc.FindRegex(inputstr: str, regex: str, [start: int], [casesensitive: bool], [forward: bool]): str
inputstr : Ang string na hahanapin
regex : Ang regular na expression
simulan : Ang posisyon sa string kung saan magsisimula ang paghahanap. Ang parameter na ito ay ipinasa sa pamamagitan ng sanggunian, kaya pagkatapos ng pagpapatupad ang halaga ng simulan ituturo ang unang character ng nahanap na substring. Kung walang nakitang katugmang substring, simulan itatakda sa 0.
casesensitive : Ang paghahanap ay maaaring case sensitive o hindi (Default = Mali ).
pasulong : Tinutukoy ang direksyon ng paghahanap. Kung totoo , sumusulong ang paghahanap. Kung Mali ang paghahanap ay gumagalaw pabalik (Default = totoo )
Sa unang pag-ulit, kung pasulong = Totoo , pagkatapos simulan dapat ay katumbas ng 1, samantalang kung pasulong = Mali pagkatapos simulan dapat katumbas ng 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
  Sa halimbawa sa itaas, ang bagong halaga ng lSimulan ay maaaring gamitin upang patuloy na maghanap sa parehong input string sa pamamagitan ng pagtatakda ng Magsimula parameter sa lStart + Len(resulta) sa susunod na pag-ulit.
Ginagamit ang mga hash function sa loob ng ilang cryptographic algorithm, sa mga digital na lagda, mga code sa pagpapatunay ng mensahe, manipulation detection, fingerprints, checksums (message integrity check), hash tables, password storage at marami pang iba.
Ang HashStr Ibinabalik ng method ang resulta ng hash function na inilapat sa isang partikular na string at gamit ang isang tinukoy na algorithm, bilang isang string ng lowercase na hexadecimal digit.
Ang mga hash algorithm na sinusuportahan ay: MD5 , SHA1 , SHA224 , SHA256 , SHA384 at SHA512 .
svc.HashStr(inputstr: str, algorithm: str): str
inputstr : Ang string sa hash. Ito ay ipinapalagay na naka-encode sa UTF-8. Isasaalang-alang ng hashing algorithm ang string bilang isang stream ng mga byte.
algorithm : Isa sa mga sinusuportahang algorithm na nakalista sa itaas, na ipinasa bilang isang string.
    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
  Ine-encode ang input string sa mga HTML na character code, na pinapalitan ang mga espesyal na character ng kanilang at mga katapat.
Halimbawa, ang karakter e ay papalitan ng e o katumbas na numerical HTML code.
svc.HtmlEncode(inputstr: str): str
inputstr : Ang string na ie-encode.
    MsgBox SF_String.HtmlEncode("<a href=""https://a.b.com"">From α to ω</a>")
    ' "<a href="https://a.b.com">From α to ω</a>"
  Nagbabalik totoo kung ang input string ay isang wastong petsa ayon sa isang tinukoy na format ng petsa.
svc.IsADate(inputstr: str, [dateformat: str]): bool
inputstr : Ang string na susuriin. Kung walang laman, babalik ang pamamaraan Mali
dateformat : Ang format ng petsa, bilang isang string. Maaari itong maging "YYYY-MM-DD" (default), "DD-MM-YYYY" o "MM-DD-YYYY"
Ang gitling (-) ay maaaring mapalitan ng isang tuldok (.), isang slash (/) o isang puwang.
Kung hindi wasto ang format, babalik ang paraan Mali .
    MsgBox SF_String.IsADate("2020-12-31", "YYYY-MM-DD") ' True
  Sinusuri ng pamamaraang ito ang format ng input string nang hindi nagsasagawa ng anumang mga pagsusuring partikular sa kalendaryo. Kaya hindi nito sinusubok ang input string para sa mga leap year o buwan na may 30 o 31 araw. Para diyan, sumangguni sa IsDate built-in na function .
Ang halimbawa sa ibaba ay nagpapakita ng pagkakaiba sa pagitan ng mga pamamaraan IsADate (ScriptForge) at ang IsDate (built-in) na function.
    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
  Nagbabalik totoo kung ang lahat ng mga character sa string ay alphabetic.
Ang mga alpabetikong karakter ay ang mga karakter na tinukoy sa Unicode Character Database bilang liham .
svc.IsAlpha(inputstr: str): bool
inputstr : Ang string na susuriin. Kung walang laman, babalik ang pamamaraan Mali .
    MsgBox SF_String.IsAlpha("àénΣlPµ") ' True
    MsgBox SF_String.IsAlpha("myVar3") ' False
  Nagbabalik totoo kung ang lahat ng mga character sa string ay alphabetic, mga digit o "_" (underscore). Ang unang character ay hindi dapat isang digit.
svc.IsAlphaNum(inputstr: str): bool
inputstr : Ang string na susuriin. Kung walang laman, babalik ang pamamaraan Mali .
    MsgBox SF_String.IsAlphaNum("_ABC_123456_abcàénΣlPµ") ' True
    MsgBox SF_String.IsAlphaNum("123ABC") ' False
  Nagbabalik totoo kung ang lahat ng mga character sa string ay mga ASCII character.
svc.IsAscii(inputstr: str): bool
inputstr : Ang string na susuriin. Kung walang laman, babalik ang pamamaraan Mali .
    MsgBox SF_String.IsAscii("a%?,25") ' True
    MsgBox SF_String.IsAscii("abcàénΣlPµ") ' False
  Nagbabalik totoo kung ang lahat ng mga character sa string ay mga digit.
svc.IsDigit(inputstr: str): bool
inputstr : Ang string na susuriin. Kung walang laman, babalik ang pamamaraan Mali .
    MsgBox SF_String.IsDigit("123456") ' True
    MsgBox SF_String.IsDigit("_12a") ' False
  Nagbabalik totoo kung ang string ay isang wastong email address.
svc.IsEmail(inputstr: str): bool
inputstr : Ang string na susuriin. Kung walang laman, babalik ang pamamaraan Mali .
    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
  Nagbabalik totoo kung ang string ay isang wastong filename sa isang ibinigay na operating system.
svc.IsFileName(inputstr: str, [osname: str]): bool
inputstr : Ang string na susuriin. Kung walang laman, babalik ang pamamaraan Mali .
osname : Ang pangalan ng operating system, bilang isang string. Maaari itong maging "WINDOWS", "LINUX", "MACOSX" o "SOLARIS".
Ang default na halaga ay ang kasalukuyang operating system kung saan tumatakbo ang script.
    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
  Nagbabalik totoo kung ang lahat ng mga character sa string ay hexadecimal digit.
svc.IsHexDigit(inputstr: str): bool
inputstr : Ang string na susuriin. Kung walang laman, babalik ang pamamaraan Mali .
Ang mga hexadecimal na digit ay maaaring may prefix na "0x" o "&H".
    MsgBox SF_String.IsHexDigit("&H00FF") ' True
    MsgBox SF_String.IsHexDigit("08AAFF10") ' True
    MsgBox SF_String.IsHexDigit("0x18LA22") ' False
  Nagbabalik totoo kung ang string ay wastong International Bank Account Number (IBAN). Ang paghahambing ay hindi case-sensitive.
svc.IsIBAN(inputstr: str): bool
inputstr : Ang string na susuriin. Kung walang laman, babalik ang pamamaraan Mali .
totoo kung ang string ay naglalaman ng wastong numero ng IBAN.
    ' Basic
    MsgBox SF_String.IsIBAN("BR15 0000 0000 0000 1093 2840 814 P2") ' True
  
    # Python
    result = svc.IsIBAN("BR15 0000 0000 0000 1093 2840 814 P2") # True
  Nagbabalik totoo kung ang string ay isang wastong IP(v4) address.
svc.IsIPv4(inputstr: str): bool
inputstr : Ang string na susuriin. Kung walang laman, babalik ang pamamaraan Mali .
    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
  Nagbabalik totoo kung ang buong input string ay tumutugma sa isang ibinigay na pattern na naglalaman ng mga wildcard.
svc.IsLike(inputstr: str, pattern: str, [casesensitive: bool]): bool
inputstr : Ang string na susuriin. Kung walang laman, babalik ang pamamaraan Mali .
pattern : Ang pattern bilang isang string. Ang mga wildcard ay:
"?" kumakatawan sa anumang solong karakter;
Ang "*" ay kumakatawan sa zero, isa, o maraming character.
casesensitive : Ang paghahanap ay maaaring case sensitive o hindi (Default = Mali ).
    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
  Nagbabalik totoo kung ang lahat ng mga character sa string ay nasa lowercase. Binabalewala ang mga hindi alphabetic na character.
svc.IsLower(inputstr: str): bool
InputStr : Ang string na susuriin. Kung walang laman, babalik ang pamamaraan Mali .
    MsgBox SF_String.IsLower("abc'(-xy4z") ' True
    MsgBox SF_String.IsLower("1234") ' True
    MsgBox SF_String.IsLower("abcDefg") ' False
  Nagbabalik totoo kung ang lahat ng mga character sa string ay napi-print.
svc.IsPrintable(inputstr: str): bool
inputstr : Ang string na susuriin. Kung walang laman, babalik ang pamamaraan Mali .
    MsgBox SF_String.IsPrintable("àén ΣlPµ Русский") ' True
    MsgBox SF_String.IsPrintable("First line." & Chr(10) & "Second Line.") ' False
  Nagbabalik totoo kung ang buong input string ay tumutugma sa isang naibigay na regular na expression.
svc.IsRegex(inputstr: str, regex: str, [casesensitive: bool]): bool
inputstr : Ang string na susuriin. Kung walang laman, babalik ang pamamaraan Mali .
regex : Ang regular na expression. Kung walang laman, babalik ang pamamaraan Mali .
casesensitive : Ang paghahanap ay maaaring case sensitive o hindi (Default = Mali ).
        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
      Nagbabalik totoo kung ang input string ay isang wastong pangalan ng Calc sheet.
svc.IsSheetName(inputstr: str): bool
inputstr : Ang string na susuriin. Kung walang laman, babalik ang pamamaraan Mali .
    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
  Ang pangalan ng sheet ay hindi dapat maglaman ng mga character [ ] * ? : / \ o ang karakter ' (apostrophe) bilang una o huling karakter.
Nagbabalik totoo kung ang unang character ng bawat salita ay nasa uppercase at ang iba pang character ay nasa lowercase.
svc.IsTitle(inputstr: str): bool
inputstr : Ang string na susuriin. Kung walang laman, babalik ang pamamaraan Mali .
    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
  Nagbabalik totoo kung ang lahat ng mga character sa string ay nasa uppercase. Binabalewala ang mga hindi alphabetic na character.
svc.IsUpper(inputstr: str): bool
inputstr : Ang string na susuriin. Kung walang laman, babalik ang pamamaraan Mali .
    MsgBox SF_String.IsUpper("ABC'(-XYZ") ' True
    MsgBox SF_String.IsUpper("A Title") ' False
  Nagbabalik totoo kung ang string ay isang wastong ganap na URL (Uniform Resource Locator) na address. Tanging ang http, https at ftp protocol ang sinusuportahan.
svc.IsUrl(inputstr: str): bool
inputstr : Ang string na susuriin. Kung walang laman, babalik ang pamamaraan Mali .
    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
  Nagbabalik totoo kung ang lahat ng mga character sa string ay mga whitespace
svc.IsWhitespace(inputstr: str): bool
inputstr : Ang string na susuriin. Kung walang laman, babalik ang pamamaraan Mali .
    MsgBox SF_String.IsWhitespace("    ") ' True
    MsgBox SF_String.IsWhitespace(" " & Chr(9) & Chr(10)) ' True
    MsgBox SF_String.IsWhitespace("") ' False
  Ibinabalik ang input string center-justified.
Ang mga nangunguna at sumusunod na puting puwang ay hinuhubaran at ang natitirang mga character ay nakumpleto pakaliwa at kanan hanggang sa isang tinukoy na kabuuan haba kasama ang karakter padding .
svc.JustifyCenter(inputstr: str, [length: int], [padding: str]): str
inputstr : Ang string upang maging center-justified. Kung walang laman, ang pamamaraan ay nagbabalik ng walang laman na string.
haba : Ang haba ng resultang string (default = ang haba ng input string).
Kung ang tinukoy na haba ay mas maikli kaysa sa center-justified na input string, ang ibinalik na string ay puputulin.
padding : Ang solong character na gagamitin bilang padding (default = ang ASCII space " ").
    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"
  Ibinabalik ang input string na left-justified.
Ang mga nangungunang puting puwang ay tinanggal at ang natitirang mga character ay kinukumpleto sa kanan hanggang sa isang tinukoy na kabuuan haba kasama ang karakter padding .
svc.JustifyLeft(inputstr: str, [length: int], [padding: str]): str
inputstr : Ang string na dapat iwanang katwiran. Kung walang laman, ang pamamaraan ay nagbabalik ng walang laman na string.
haba : Ang haba ng resultang string (default = ang haba ng input string).
Kung ang tinukoy na haba ay mas maikli kaysa sa left-justified input string, ang ibinalik na string ay puputulin.
padding : Ang solong character na gagamitin bilang padding (default = ang ASCII space " ").
    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"
  Ibinabalik ang input string na right-justified.
Ang mga nangungunang puting espasyo ay tinanggal at ang natitirang mga character ay nakumpleto sa kaliwa hanggang sa isang tinukoy na kabuuan haba kasama ang karakter padding .
svc.JustifyRight(inputstr: str, [length: int], [padding: str]): str
inputstr : Ang string na dapat bigyang-katwiran. Kung walang laman, ang pamamaraan ay nagbabalik ng walang laman na string.
haba : Ang haba ng resultang string (default = ang haba ng input string).
Kung ang tinukoy na haba ay mas maikli kaysa sa right-justified input string, ang ibinalik na string ay puputulin.
padding : Ang solong character na gagamitin bilang padding (default = ang ASCII space " ").
    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"
  Ibinabalik ang input string na nakapaloob sa single o double quotes. Ang mga kasalukuyang quote ay hindi nababago, kabilang ang nangunguna at/o sumusunod na mga quote.
svc.Quote(inputstr: str, [quotechar: str]): str
inputstr : Ang string na sipiin.
quotechar : Alinman sa single (') o double (") quote (default).
    MsgBox SF_String.Quote("Text Value")
    ' "Text Value"
    MsgBox SF_String.Quote("Book Title: ""The Arabian Nights""", "'")
    ' 'Book Title: "The Arabian Nights"'
  Maaaring maging kapaki-pakinabang ang pamamaraang ito habang naghahanda ng string field na iimbak sa isang tulad-csv na file, na nangangailangan na ang mga halaga ng teksto ay may kasamang isa o dobleng quote.
Pinapalitan ang lahat ng paglitaw ng mga character na tinukoy sa dati parameter ng kaukulang mga character na tinukoy sa Pagkatapos .
Kung ang haba ng dati ay mas malaki kaysa sa haba ng Pagkatapos , ang mga natitirang character sa dati ay pinalitan ng huling karakter sa Pagkatapos .
svc.ReplaceChar(inputstr: str, before: str, after: str): str
inputstr : Ang input string kung saan magaganap ang mga pagpapalit.
dati : Isang string na may mga character na hahanapin sa input string para sa kapalit.
pagkatapos : Isang string na may mga bagong character na papalit sa mga tinukoy sa dati .
    ' Pinapalitan ang mga may accent na character
    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"
  Ang SF_String Ang serbisyo ay nagbibigay ng mga kapaki-pakinabang na pampublikong constant para sa Latin character set, tulad ng ipinapakita sa halimbawa sa ibaba:
    MsgBox SF_String.ReplaceChar("Protégez votre vie privée", SF_String.CHARSWITHACCENT, SF_String.CHARSWITHOUTACCENT)
    ' "Protegez votre vie privee"
  Pinapalitan ang lahat ng paglitaw ng isang naibigay na regular na expression ng isang bagong string.
svc.ReplaceRegex(inputstr: str, regex: str, newstr: str, [casesensitive: bool]): str
inputstr : Ang input string kung saan magaganap ang mga pagpapalit.
regex : Ang regular na expression.
newstr : Ang pagpapalit ng string.
casesensitive : Ang paghahanap ay maaaring case sensitive o hindi (Default = Mali ).
    MsgBox SF_String.ReplaceRegex("Lorem ipsum dolor sit amet, consectetur adipiscing elit.", "[a-z]", "x", CaseSensitive := True)
    ' "Lxxxx xxxxx xxxxx xxx xxxx, xxxxxxxxxxx xxxxxxxxx xxxx." (bawat maliit na titik ay pinapalitan ng "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." (bawat salita ay pinapalitan ng "x")
  Pinapalitan sa isang string ang ilan o lahat ng paglitaw ng isang hanay ng mga string ng isang hanay ng mga bagong string.
svc.ReplaceStr(inputstr: str, oldstr: str, newstr: str, [occurrences: int], [casesensitive: bool]): str
inputstr : Ang input string kung saan magaganap ang mga pagpapalit.
oldstr : Isang solong string o hanay ng mga string. Binabalewala ang mga zero-length na string.
newstr : Ang pagpapalit ng string o ang hanay ng pagpapalit ng mga string.
Kung oldstr ay isang array, ang bawat paglitaw ng alinman sa mga item sa oldstr ay pinalitan ng newstr .
Kung oldstr at newstr ay mga arrays, ang mga pagpapalit ay nangyayari nang paisa-isa hanggang sa UBound(newstr) .
Kung oldstr ay may mas maraming entry kaysa newstr , pagkatapos ay ang mga natitirang elemento sa oldstr ay pinalitan ng huling elemento sa newstr .
mga pangyayari : Ang maximum na bilang ng mga kapalit. Ang default na halaga ay 0, ibig sabihin, ang lahat ng mga pangyayari ay papalitan.
kailan oldstr ay isang array, ang pangyayari Ang parameter ay hiwalay na kinakalkula para sa bawat item sa array.
casesensitive : Ang paghahanap ay maaaring case sensitive o hindi (Default = Mali ).
    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"
  Nagbabalik ng string na may nababasang representasyon ng argumento, pinutol sa isang partikular na haba. Ito ay pangunahing kapaki-pakinabang para sa mga layunin ng pag-debug o pag-log.
Kung ang anumang halaga parameter ay isang bagay, ito ay kalakip ng mga square bracket na "[" at "]".
Sa mga string, ang mga tab at line break ay pinapalitan ng \t, \n o \r.
Kung ang huling haba ay lumampas sa maxlength parameter, ang huling bahagi ng string ay pinapalitan ng " ... (N)" kung saan ang N ay ang kabuuang haba ng orihinal na string bago ang pagputol.
svc.Represent(anyvalue: any, [maxlength: int]): str
anumang halaga : Ang halaga ng input na kakatawanin. Maaari itong maging anumang halaga, tulad ng string, array, Basic object, UNO object, atbp.
maxlength : Ang maximum na haba ng resultang string. Ang default na halaga ay 0, ibig sabihin ay walang limitasyon sa haba ng resultang representasyon.
    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]"
  Tandaan na ang representasyon ng mga uri ng data tulad ng Arrays at ScriptForge.Diksyunaryo Kasama sa mga instance ng object ang parehong uri ng data at ang kanilang mga halaga:
    ' Isang halimbawa na may Basic na built-in na Array
    MsgBox SF_String.Represent(Array(1, 2, "Text" & Chr(9) & "here"))
    ' "[ARRAY] (0:2) (1, 2, Text\there)"
    ' Isang halimbawa na may ScriptForge Array
    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)"
    ' Isang halimbawa na may ScriptForge Dictionary
    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)"
  Ibinabalik ang input string sa reverse order.
Ang pamamaraang ito ay katumbas ng built-in StrReverse Pangunahing pag-andar .
Upang gamitin ang StrReverse function, ang pahayag Opsyon VBASupport 1 kailangang nasa modyul.
svc.Reverse(inputstr: str): str
inputstr : Ang string na ibabalik.
    MsgBox SF_String.Reverse("abcdefghij") ' "jihgfedcba"
  Nagbabalik ng zero-based na array ng mga string na may mga linya sa input string. Ang bawat item sa array ay nakukuha sa pamamagitan ng paghahati ng input string sa mga newline na character.
svc.SplitLines(inputstr: str, [keepbreaks: int]): str[0..*]
inputstr : Ang string na hahatiin.
keepbreaks : Kailan totoo , ang mga line break ay pinapanatili sa output array (default = Mali ).
    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", "")
  Hinahati ang isang string sa isang hanay ng mga elemento gamit ang isang tinukoy na delimiter.
Kung ang isang naka-quote na substring ay naglalaman ng isang delimiter, ito ay hindi papansinin. Ito ay kapaki-pakinabang kapag nag-parse ng mga record na tulad ng CSV na naglalaman ng mga naka-quote na string.
svc.SplitNotQuoted(inputstr: str, [delimiter: str], [occurrences: int], [quotechar: str]): str[0..*]
inputstr : Ang string na hahatiin.
delimiter : Isang string ng isa o higit pang mga character na gagamitin bilang delimiter. Ang default na delimiter ay ang ASCII space " " character.
mga pangyayari : Ang maximum na bilang ng mga substring na ibabalik. Ang default na halaga ay 0, ibig sabihin ay walang limitasyon sa bilang ng mga ibinalik na string.
quotechar : Alinman sa single (') o double (") quote.
    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""', '')
  Mag-ingat sa mga pagkakaiba sa pagitan ng Basic at Python kapag kumakatawan sa mga string. Halimbawa, sa Pangunahing dalawang "" na character sa loob ng isang string ay binibigyang-kahulugan bilang iisang " character. Sa Python, ang mga string na nakapaloob na may mga solong quote ay maaaring maglaman ng mga " character nang hindi kinakailangang doblehin ang mga ito.
Nagbabalik totoo kung ang mga unang character ng isang string ay magkapareho sa isang ibinigay na substring.
Nagbabalik ang pamamaraang ito Mali kung alinman sa input string o substring ay may haba = 0 o kapag ang substring ay mas mahaba kaysa sa input string.
svc.StartsWith(inputstr: str, substring: str, [casesensitive: bool]): bool
inputstr : Ang string na susuriin.
substring : Ang substring na hahanapin sa simula ng inputstr .
casesensitive : Ang paghahanap ay maaaring case sensitive o hindi (Default = Mali ).
    MsgBox SF_String.StartsWith("abcdefg", "ABC") 'True
    MsgBox SF_String.StartsWith("abcdefg", "ABC", CaseSensitive := True) 'False
  Ibinabalik ang input string nang wala ang mga nangunguna at sumusunod na mga whitespace.
svc.TrimExt(inputstr: str): str
inputstr : Ang string upang putulin.
    MsgBox SF_String.TrimExt(" Some text.  ") ' "Some text."
    MsgBox SF_String.TrimExt("   ABCDEF" & Chr(9) & Chr(10) & Chr(13) & " ") ' "ABCDEF"
  Kino-convert ang anumang escaped sequence (\\, \n, \r, \t) sa input string sa kanilang katumbas na ASCII character.
svc.Unescape(inputstr: str): str
inputstr : Ang string na iko-convert.
    MsgBox SF_String.Unescape("abc\n\tdef\\n")
    ' "abc" & Chr(10) & Chr(9) & "def\n"
  Tinatanggal ang isa o dobleng quote na nakapaloob sa input string.
Ito ay kapaki-pakinabang kapag nag-parse ng mga record na tulad ng CSV na naglalaman ng mga naka-quote na string.
svc.Unquote(inputstr: str, [quotechar: str]): str
inputstr : Ang string na i-unquote.
quotechar : Alinman sa single (') o double (") quote (default).
    Dim s as String
    ' s = "Ilang teksto" (nang walang kasamang mga panipi)
    s = SF_String.Unquote("""Some text""")
    ' Ang string sa ibaba ay walang kalakip na mga panipi, kaya nananatili itong hindi nagbabago
    ' s = "Ilang teksto" (hindi nabago)
    s = SF_String.Unquote("Some text")
    ' Ang mga quote sa loob ng string ay hindi inaalis
    ' s = "Ang ""totoo"" na kahulugan" (hindi nagbabago)
    s = SF_String.Unquote("The ""true"" meaning")
  Kino-convert ang input string sa isang array ng mga substrings upang ang bawat item sa array ay may hindi hihigit sa isang naibigay na bilang ng mga character.
Sa pagsasagawa, ang pamamaraang ito ay nagbabalik ng zero-based na hanay ng mga linya ng output, na walang mga bagong linya sa dulo, maliban sa mga dati nang line-break.
Ang mga tab ay pinalawak gamit ang parehong pamamaraan na isinagawa ng ExpandTabs paraan.
Ang mga simbolikong line break ay pinapalitan ng kanilang katumbas na mga ASCII na character.
Kung ang nakabalot na output ay walang nilalaman, ang ibinalik na array ay walang laman.
svc.Wrap(inputstr: str, [width: int], [tabsize: int]): str
inputstr : Ang string na ibalot.
lapad : Ang maximum na bilang ng mga character sa bawat linya (Default = 70).
tabsize : Bago i-wrap ang text, ang umiiral na TAB Chr(9) ang mga character ay pinapalitan ng mga puwang. Ang argumento tabsize tumutukoy sa mga hinto ng TAB sa TabSize + 1, 2 * TabSize + 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...')