LibreOffice 25.2 laguntza
String zerbitzuak kateak prozesatzeko metodoen bilduma bat eskaintzen du. Metodo horiek hurrengo helburuetarako erabili daitezke:
Kateen edukiak balioztatzeko
Kateei formatua emateko, haien edukiak moztuz, justifikatuz edo egokituz
Adierazpen erregularrak erabiltzeko azpikateak bilatu eta ordezteko
Kateetan hash algoritmoak aplikatzeko, etab.
String zerbitzuak hurrengo lerro-jauziak ezagutzen ditu:
| Izen sinbolikoa | ASCII zenbakia | 
|---|---|
|              Line feed | 
             10  | 
String zerbitzuak hurrengo zuriuneak ezagutzen ditu:
| Izen sinbolikoa | ASCII zenbakia | 
|---|---|
|              Zuriunea | 
             32  | 
Behean, kateetan erabili daitezkeen ihes-sekuentzien zerrenda bat.
| Ihes-sekuentzia | Izen sinbolikoa | ASCII zenbakia | 
|---|---|---|
| 
             \n  |              Lerro-jauzia | 
             10  | 
Ihes-sekuentzia den "\n" benetan kate gisa interpretatua izan dadin, erabili "\\n" katea "\" & Chr(10) erabili ordez.
Unicode karaktereen datu-basean “Beste batzuk” edo “Bereizlea” atalean dauden karaktereak karaktere ez inprimagarritzat hartzen dira.
Kontrol-karaktereak ere (ASCII kodea <= 0x1F) ez inprimagarritzat hartzen dira.
Kateei komatxoak gehitzeko, erabili \' (komatxo soila) edo \" (komatxo bikoitza). Adibidez:
[str\'i\'ng] katea honela interpretatuko da: [str'i'ng]
[str\"i\"ng] katea honela interpretatuko da: [str"i"ng]
ScriptForge.String zerbitzua erabili baino lehen, ScriptForge liburutegia honakoa erabilita kargatu behar da:
      GlobalScope.BasicLibraries.loadLibrary("ScriptForge")
  Liburutegia kargatzean SF_String objektua sortuko da, era horren bidez String zerbitzuko metodoak deitu ahal izango dira.
Hurrengo kode-zatiek String zerbitzuko metodoei deitzeko hiru modu erakusten dituzte (Capitalize metodoa adibidetzat hartu da):
    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
  Beheko kode-zatiak Python scriptetan String zerbitzuko metodoak nola deitu azaltzen du. ¡IsIPv4 metodoa erabili da adibide modura.
    from scriptforge import CreateScriptService
    svc = CreateScriptService("String")
    ip_address = '192.168.0.14'
    svc.IsIPv4(ip_address) # True
  SF_String objektuak honako propietateak eskaintzen ditu Basic scriptetarako:
| Izena | Irakurtzeko soilik | Deskribapena | 
|---|---|---|
| sfCR | Bai | Orga-itzulera: Chr(13) | 
| sfCRLF | Bai | Orga-itzulera + Lerro-jauzia: Chr(13) & Chr(10) | 
| sfLF | Bai | Lerro-jauzia: Chr(10) | 
| sfNEWLINE | Bai | Orga-itzulera + Lerro-jauzia, honakoetako bat izan daiteke:  | 
| sfTAB | Bai | Tabulazio horizontala: Chr(9) | 
Goiko propietateak erabili daitezke kateen barruan karaktereak identifikatu edo txertatzeko. Adibidez, lerro-jauziaren ordez SF_String.sfLF erabili daiteke.
Metodo askotako lehen argumentua metodoak manipulatuko duen katea izan ohi da. Beti erreferentzia gisa pasatzen da eta ez da aldatzen. Capitalize, Escape eta antzeko metodoek kate berria itzultzen dute exekuzioaren ondoren.
Python lengoaiak kateen euskarri integratu zabala duenez, String zerbitzuaren metodo gehienak Basic scriptetarako soilik daude erabilgarri. Basic eta Python lengoaietarako erabilgarri dauden metodoak honakoak dira: HashStr, IsADate, IsEmail, IsFileName, IsIBAN, IsIPv4, IsLike, IsSheetName, IsUrl, SplitNotQuoted eta Wrap.
Sarrerako kateko hitz bakoitzaren lehen karakterea maiuskula bihurtzen du.
svc.Capitalize(inputstr: str): str
inputstr: Maiuskuletara bihurtuko den katea.
    Dim sName as String : sName = "john smith"
    Dim sCapitalizedName as String
    sCapitalizedName = SF_String.Capitalize(sName)
    MsgBox sCapitalizedName 'John Smith
  Kate baten barruan azpikate edo adierazpen erregular bat zenbat aldiz ageri den zenbatzen du.
svc.Count(inputstr: str, substring: str, [isregex: bool], [casesensitive: bool]): int
inputstr: Aztertuko den sarrerako katea.
substring: Bilaketan erabiliko den azpikatea edo adierazpen erregularra.
isregex: Erabili True azpikatea adierazpen erregular bat bada (lehenetsia = False).
casesensitive: Konparazioan maiuskulak/minuskulak kontuan hartu daitezke edo ez (Balio lehenetsia = False).
    ' "or" azpikatea sarrerako katean zenbat aldiz agertzen den zenbatzen du (2 itzultzen du)
    MsgBox SF_String.Count("Lorem ipsum dolor sit amet, consectetur adipiscing elit.", "or", CaseSensitive := False)
    'Minuskulak soilik dituen hitzen kopurua zenbatzen du (7 itzultzen du)
    MsgBox SF_String.Count("Lorem ipsum dolor sit amet, consectetur adipiscing elit.", "\b[a-z]+\b", IsRegex := True, CaseSensitive := True)
  Adierazpen erregularrei buruz gehiago jakiteko, begiratu Python lengoaiaren dokumentazioa Regular Expression Operations estekan.
True itzultzen du kate bat zehaztutako azpikatearekin amaitzen bada.
Funtzioak False itzuliko du katearen edo azpikatearen luzera 0 bada edo azpikatea katea baino luzeagoa bada.
svc.EndsWith(inputstr: str, substring: str, [casesensitive: bool]): bool
inputstr: Aztertuko den katea.
substring: inputstr amaieran bilatuko den azpikatea.
casesensitive: Konparazioan maiuskulak/minuskulak kontuan hartu daitezke edo ez (Balio lehenetsia = False).
    'True (egia) itzultzen du metodoa CaseSensitive = False lehenetsiarekin deitu delako
    MsgBox SF_String.EndsWith("abcdefg", "EFG")
    'False (faltsua) itzultzen du CaseSensitive parametroaren ondorioz
    MsgBox SF_String.EndsWith("abcdefg", "EFG", CaseSensitive := True)
  Sarrerako katean dauden lerro-jauziak eta tabulazioak haietako bakoitzari dagokion ihes egindako sekuentzia bihurtzen ditu (\\, \n, \r, \t).
svc.Escape(inputstr: str): str
inputstr: Bihurtuko den katea.
    ' "abc\n\tdef\\n" katea itzultzen du
    MsgBox SF_String.Escape("abc" & Chr(10) & Chr(9) & "def\n")
  Chr(9) tabulazio-karaktereak zuriuneekin ordezten ditu, tabulazioen portaera erreplikatzeko.
Lerro-jauzi bat aurkitzen bada, lerro berria hasiko da eta karaktere-kontagailua berrezarriko da.
svc.ExpandTabs(inputstr: str, [tabsize: int]): str
inputstr: Hedatuko den katea.
tabsize: Parametro hau tabulazio-geldiuneak zehazteko erabiltzen da, honako formularen bidez: TabSize + 1, 2 * TabSize + 1 , ... N * TabSize + 1 (lehenetsia = 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
  Sarrerako katean inprimagarriak ez diren karaktere guztiak ordezten ditu emandako karaktere batekin.
svc.FilterNotPrintable(inputstr: str, [replacedby: str]): str
inputstr: Bilatuko den katea.
replacedby: inputstr katean dauden karaktere ez inprimagarri guztiak ordeztuko dituzten zero, bat edo hainbat karaktere (Lehenetsia = "")
    Dim LF : LF = Chr(10)
    Dim myText as String
    myText = "àén ΣlPµ" & LF & " Русский" & "\n"
    MsgBox SF_String.FilterNotPrintable(myText)
    ' "àén ΣlPµ Русский\n"
  Kate batean adierazpen erregular batekin bat egiten duen azpikate bat aurkitzen du.
svc.FindRegex(inputstr: str, regex: str, [start: int], [casesensitive: bool], [forward: bool]): str
inputstr: Bilatuko den katea.
regex: Adierazpen erregularra.
start: Bilaketa non hasiko den katearen barruan. Parametro hau erreferentzia gisa pasatzen denez, exekuzioaren ondoren start balioak aurkitutako azpikatearen lehen karakterea adieraziko du. Bat datorren azpikaterik aurkitzen ez bada, start 0 izango da.
casesensitive: Konparazioan maiuskulak/minuskulak kontuan hartu daitezke edo ez (Balio lehenetsia = False).
forward: Bilaketaren norabidea zehazten du. True bada, bilaketa aurrerantz joango da. False bada, bilaketa atzerantz joango da (Lehenetsia = True)
Lehen iterazioan, forward = True bada, orduan start 1 izango da, eta forward = False bada, orduan start eta Len(inputstr) berdinak izango dira.
    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
  Goiko adibidean, hurrengo iterazioan Start parametroan lStart + Len(emaitza) jarrita, lStart funtzioak ematen duen balio berria sarrerako kate bera bilatzen jarraitu dezan ezarri daiteke.
Hash funtzioak hainbat tokitan erabiltzen dira: zifratze-algoritmoetan, sinadura digitaletan, mezuak autentifikatzeko kodeetan, manipulazioen detekzioan, hatz-marketan, kontroleko baturetan (mezuen osotasunaren egiaztatzeetan), hash tauletan, pasahitzen biltegietan eta beste hainbatetan.
HashStr metodoaren bidez, emandako kate bati algoritmo jakin baten bidez aplikatutako hash-funtzioaren emaitza lortuko da, digitu hamaseitar minuskulen kate gisa.
Onartutako hash algoritmoak honakoak dira: MD5, SHA1, SHA224, SHA256, SHA384 eta SHA512.
svc.HashStr(inputstr: str, algorithm: str): str
inputstr: Hash balioa kalkulatuko zaion katea. Katearen kodeketa UTF-8 dela suposatzen da. Hash-algoritmoak byte-korrontetzat hartuko du katea.
algorithm: Onartutako algoritmoetako bat, goian zerrendatutakoen artekoa, kate gisa pasatuko dena.
    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
  Sarrerako katea HTML karaktere-kode gisa kodetzen du, karaktere berezien ordez & homologoak ezarrita.
Adibidez, é karakterearen ordez é edo horren baliokide bat, zenbakizko HTML kode forman, erabiliko da.
svc.HtmlEncode(inputstr: str): str
inputstr: Kodetuko den katea.
    MsgBox SF_String.HtmlEncode("<a href=""https://a.b.com"">From α to ω</a>")
    ' "<a href="https://a.b.com">From α to ω</a>"
  True itzultzen du sarrerako katea baliozko data bat bada zehaztutako data-formatuari kasu eginda.
svc.IsADate(inputstr: str, [dateformat: str]): bool
inputstr: Egiaztatuko den katea. Hutsik badago, metodoak False itzuliko du.
dateformat: Dataren formatua, kate gisa."UUUU-HH-EE" (lehenetsia), "EE-HH-UUUU" edo "HH-EE-UUU" izan daiteke.
Marratxoaren (-) ordez puntu bat (.), barra bat (/) edo zuriune bat erabili daiteke.
Formatua baliogabea bada, metodoak False itzuliko du.
    MsgBox SF_String.IsADate("2020-12-31", "YYYY-MM-DD") ' True
  Metodo honek sarrerako katearen formatua egiaztatzen du, baina ez egutegiari lotutako kontuak. Beraz, ez du begiratzen sarrerako katearen urteak ondo dauden, edo 30 edo 31 eguneko hilabeteak diren ala ez. Horretarako, erabili IsDate funtzio integratua.
Beheko adibideak IsADate (ScriptForge) eta IsDate (integratutako) funtzioen arteko desberdintasuna erakusten du.
    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
  True itzuliko du kateko karaktere guztiak alfabetikoak badira.
Karaktere alfabetikoak Unicode karaktereen datu-basean Letter gisa definituta daudenak dira.
svc.IsAlpha(inputstr: str): bool
inputstr: Egiaztatuko den katea. Hutsik badago, metodoak False itzuliko du.
    MsgBox SF_String.IsAlpha("àénΣlPµ") ' True
    MsgBox SF_String.IsAlpha("myVar3") ' False
  True itzuliko du karaktere guztiak alfabetikoak, digituak edo "_" (azpimarra) badira. Lehen karaktereak ezin du digitua izan.
svc.IsAlphaNum(inputstr: str): bool
inputstr: Egiaztatuko den katea. Hutsik badago, metodoak False itzuliko du.
    MsgBox SF_String.IsAlphaNum("_ABC_123456_abcàénΣlPµ") ' True
    MsgBox SF_String.IsAlphaNum("123ABC") ' False
  True (egia) itzultzen du kateko karaktere guztiak ASCII karaktereak badira.
svc.IsAscii(inputstr: str): bool
inputstr: Egiaztatuko den katea. Hutsik badago, metodoak False itzuliko du.
    MsgBox SF_String.IsAscii("a%?,25") ' True
    MsgBox SF_String.IsAscii("abcàénΣlPµ") ' False
  True itzuliko du kateko karaktere guztiak digituak badira.
svc.IsDigit(inputstr: str): bool
inputstr: Egiaztatuko den katea. Hutsik badago, metodoak False itzuliko du.
    MsgBox SF_String.IsDigit("123456") ' True
    MsgBox SF_String.IsDigit("_12a") ' False
  True itzuliko du katea baliozko posta elektronikoko helbidea bada.
svc.IsEmail(inputstr: str): bool
inputstr: Egiaztatuko den katea. Hutsik badago, metodoak False itzuliko du.
    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
  True itzuliko du katea baliozko fitxategi-izena bada emandako sistema eragilean.
svc.IsFileName(inputstr: str, [osname: str]): bool
inputstr: Egiaztatuko den katea. Hutsik badago, metodoak False itzuliko du.
osname: Sistema eragilearen izena, kate gisa. "WINDOWS", "LINUX", "MACOSX" edo "SOLARIS" izan daiteke.
Balio lehenetsia scripta exekutatzen ari den uneko sistema eragilea da.
    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
  True itzuliko du kateko karaktere guztiak digitu hamaseitarrak badira.
svc.IsHexDigit(inputstr: str): bool
inputstr: Egiaztatuko den katea. Hutsik badago, metodoak False itzuliko du.
Digitu hamaseitarrek "0x" edo "&H" eduki dezakete aurrizki gisa.
    MsgBox SF_String.IsHexDigit("&H00FF") ' True
    MsgBox SF_String.IsHexDigit("08AAFF10") ' True
    MsgBox SF_String.IsHexDigit("0x18LA22") ' False
  True itzuliko du katea baliozko International Bank Account Number (IBAN) bat bada. Konparazioak ez ditu maiuskulak/minuskulak bereiziko.
svc.IsIBAN(inputstr: str): bool
inputstr: Egiaztatuko den katea. Hutsik badago, metodoak False itzuliko du.
True, kateak baliozko IBAN zenbaki bat badu.
    ' 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
  True itzultzen du katea baliozko IP(v4) helbidea bada.
svc.IsIPv4(inputstr: str): bool
inputstr: Egiaztatuko den katea. Hutsik badago, metodoak False itzuliko du.
    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
  True itzultzen du sarrerako kate osoa bat badator komodinak dituen eredu batekin.
svc.IsLike(inputstr: str, pattern: str, [casesensitive: bool]): bool
inputstr: Egiaztatuko den katea. Hutsik badago, metodoak False itzuliko du.
pattern: Eredua kate gisa. Komodinak honakoak dira:
"?" komodinak edozein karaktere bakun ordezkatzen du;
"*" komodinak zero karaktere, karaktere bat edo karaktere anitz ordezkatzen du.
casesensitive: Konparazioan maiuskulak/minuskulak kontuan hartu daitezke edo ez (Balio lehenetsia = False).
    MsgBox SF_String.IsLike("aAbB", "?A*") ' True
    MsgBox SF_String.IsLike("C:\a\b\c\f.odb", "?:*.*") ' True
    MsgBox SF_String.IsLike("name:host", "?*@?*") ' False
    MsgBox SF_String.IsLike("@host", "?*@?*") ' False
  
    svc = CreateScriptService("String")
    bas = CreateScriptService("Basic")
    bas.MsgBox(svc.IsLike("aAbB", "?A*")) # True
    bas.MsgBox(svc.IsLike(r"C:\a\b\c\f.odb", "?:*.*")) # True
    bas.MsgBox(svc.IsLike("name:host", "?*@?*")) # False
    bas.MsgBox(svc.IsLike("@host", "?*@?*")) # False
  True itzultzen du kateko karaktere guztiak minuskulak badira. Alfabetikoak ez diren karaktereei ez ikusiarena egingo zaie.
svc.IsLower(inputstr: str): bool
InputStr: Egiaztatuko den katea. Hutsik badago, metodoak False itzuliko du.
    MsgBox SF_String.IsLower("abc'(-xy4z") ' True
    MsgBox SF_String.IsLower("1234") ' True
    MsgBox SF_String.IsLower("abcDefg") ' False
  True itzultzen du kateko karaktere guztiak inprimagarriak badira.
svc.IsPrintable(inputstr: str): bool
inputstr: Egiaztatuko den katea. Hutsik badago, metodoak False itzuliko du.
    MsgBox SF_String.IsPrintable("àén ΣlPµ Русский") ' True
    MsgBox SF_String.IsPrintable("First line." & Chr(10) & "Second Line.") ' False
  True itzultzen du sarrerako kate osoa bat badator emandako adierazpen erregular batekin.
svc.IsRegex(inputstr: str, regex: str, [casesensitive: bool]): bool
inputstr: Egiaztatuko den katea. Hutsik badago, metodoak False itzuliko du.
regex: Adierazpen erregularra, Hutsik badago, metodoak False itzuliko du.
casesensitive: Konparazioan maiuskulak/minuskulak kontuan hartu daitezke edo ez (Balio lehenetsia = False).
        MsgBox SF_String.IsRegex("aAbB", "[A-Za-z]+") ' True
        MsgBox SF_String.IsRegex("John;100", "[A-Za-z]+;[0-9]+") ' True
        MsgBox SF_String.IsRegex("John;100;150", "[A-Za-z]+;[0-9]+") ' False
      True itzultzen du sarrerako katea Calc aplikazioaren baliozko orri-izen bat bada.
svc.IsSheetName(inputstr: str): bool
inputstr: Egiaztatuko den katea. Hutsik badago, metodoak False itzuliko du.
    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
  Orri-izen batek ezin ditu [ ] * ? : / \ karaktereak edo ' (komatxoa) karakterea eduki lehen edo azken karakteretzat.
True itzultzen du hitza bakoitzaren lehen karakterea maiuskula bada eta beste karaktereak minuskula.
svc.IsTitle(inputstr: str): bool
inputstr: Egiaztatuko den katea. Hutsik badago, metodoak False itzuliko du.
    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
  True itzultzen du kateko karaktere guztiak maiuskula badira. Alfabetikoak ez diren karaktereei ez ikusiarena egingo zaie.
svc.IsUpper(inputstr: str): bool
inputstr: Egiaztatuko den katea. Hutsik badago, metodoak False itzuliko du.
    MsgBox SF_String.IsUpper("ABC'(-XYZ") ' True
    MsgBox SF_String.IsUpper("A Title") ' False
  True itzultzen du katea baliozko URL (Uniform Resource Locator) helbide absolutua bada. Onartutako protokoloak http, https eta ftp dira.
svc.IsUrl(inputstr: str): bool
inputstr: Egiaztatuko den katea. Hutsik badago, metodoak False itzuliko du.
    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
  True itzultzen du kateko karaktere guztiak zuriuneak badira.
svc.IsWhitespace(inputstr: str): bool
inputstr: Egiaztatuko den katea. Hutsik badago, metodoak False itzuliko du.
    MsgBox SF_String.IsWhitespace("    ") ' True
    MsgBox SF_String.IsWhitespace(" " & Chr(9) & Chr(10)) ' True
    MsgBox SF_String.IsWhitespace("") ' False
  Sarrerako katea erdian justifikatuta itzultzen du.
Ezkerreko eta eskuineko zuriuneak kendu egingo dira eta geratzen diren karaktereak ezkerretik eta eskuinetik osatuko dira zehaztutako length luzeraraino padding karakterea erabilita.
svc.JustifyCenter(inputstr: str, [length: int], [padding: str]): str
inputstr: Erdian justifikatuko den katea. Hutsik badago, metodoak kate hutsa itzuliko du.
length: Emaitza gisa sortuko den katearen luzera (balio lehenetsia = sarrerako katearen luzera).
Zehaztutako luzera erdian justifikatutako sarrerako katearena baino laburragoa bada, itzulitako katea moztu egingo da.
padding: Betegarri gisa erabiliko den karaktere bakuna (balio lehenetsia = " " ASCII zuriunea).
    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"
  Sarrerako katea ezkerrean justifikatuta itzultzen du.
Ezkerreko zuriuneak kendu egingo dira eta geratzen diren karaktereak eskuinetik osatuko dira zehaztutako length luzeraraino padding karakterea erabilita.
svc.JustifyLeft(inputstr: str, [length: int], [padding: str]): str
inputstr: Ezkerrean justifikatuko den katea. Hutsik badago, metodoak kate huts bat itzuliko du.
length: Emaitza gisa sortuko den katearen luzera (balio lehenetsia = sarrerako katearen luzera).
Zehaztutako luzera ezkerrean justifikatutako sarrerako katearena baino laburragoa bada, itzulitako katea moztu egingo da.
padding: Betegarri gisa erabiliko den karaktere bakuna (balio lehenetsia = " " ASCII zuriunea).
    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"
  Sarrerako katea eskuinean justifikatuta itzultzen du.
Ezkerreko zuriuneak kendu egingo dira eta geratzen diren karaktereak ezkerretik osatuko dira zehaztutako length luzeraraino padding karakterea erabilita.
svc.JustifyRight(inputstr: str, [length: int], [padding: str]): str
inputstr: Eskuinean justifikatuko den katea. Hutsik badago, metodoak kate huts bat itzuliko du.
length: Emaitza gisa sortuko den katearen luzera (balio lehenetsia = sarrerako katearen luzera).
Zehaztutako luzera eskuinean justifikatutako sarrerako katearena baino laburragoa bada, itzulitako katea moztu egingo da.
padding: Betegarri gisa erabiliko den karaktere bakuna (balio lehenetsia = " " ASCII zuriunea).
    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"
  Sarrerako katea komatxo soilekin edo bikoitzekin inguratuta itzultzen du. Lehendik dauden komatxoak, aurretik edota atzetik daudenak barne, ez dira aldatuko.
svc.Quote(inputstr: str, [quotechar: str]): str
inputstr: Komatxo artean sartuko den katea.
quotechar: Komatxo soila (') edo bikoitza (") (lehenetsia).
    MsgBox SF_String.Quote("Text Value")
    ' "Text Value"
    MsgBox SF_String.Quote("Book Title: ""The Arabian Nights""", "'")
    ' 'Book Title: "The Arabian Nights"'
  Metodo hori erabilgarria izan daiteke kateen eremu bat CSV formatuan gordetzeko prestatzen denean, horrek eskatzen baitu testu-balioak komatxo soilekin edo bikoitzekin inguratuta egotea.
Before parametroan zehaztu diren karaktereen agerraldi guztiak After parametroan zehaztu direnekin ordezten ditu.
Before parametroa After baino luzeagoa bada, Before parametroko hondar-karaktereak ordezteko After parametroko azken karakterea erabiliko da.
svc.ReplaceChar(inputstr: str, before: str, after: str): str
inputstr: Ordezkapenak jasango dituen sarrerako katea.
before: Sarrerako katean ordezteko bilatuko diren karaktereak dituen kate bat.
after: before parametroan definitu diren karaktereak ordeztuko dituzten karaktere berriak dituen kate bat.
    ' Azentudun karaktereak ordezten ditu
    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"
  SF_String zerbitzuak konstante publiko erabilgarriak eskaintzen ditu karaktere-joko latindarretarako, beheko adibidean erakusten den moduan:
    MsgBox SF_String.ReplaceChar("Protégez votre vie privée", SF_String.CHARSWITHACCENT, SF_String.CHARSWITHOUTACCENT)
    ' "Protegez votre vie privee"
  Emandako adierazpen erregular baten agerraldi guztiak kate berri batekin ordezten ditu.
svc.ReplaceRegex(inputstr: str, regex: str, newstr: str, [casesensitive: bool]): str
inputstr: Ordezkapenak jasango dituen sarrerako katea.
regex: Adierazpen erregularra.
newstr: Ordezko katea.
casesensitive: Konparazioan maiuskulak/minuskulak kontuan hartu daitezke edo ez (Balio lehenetsia = False).
    MsgBox SF_String.ReplaceRegex("Lorem ipsum dolor sit amet, consectetur adipiscing elit.", "[a-z]", "x", CaseSensitive := True)
    ' "Lxxxx xxxxx xxxxx xxx xxxx, xxxxxxxxxxx xxxxxxxxxx xxxx." (letra minuskula guztien ordez "x" jarriko da)
    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." (hitz bakoitzaren ordez "x" jarriko da)
  Kate batean, kateen matrize bateko agerraldi batzuk edo guztiak kate berrien matrize batekin ordezten ditu.
svc.ReplaceStr(inputstr: str, oldstr: str, newstr: str, [occurrences: int], [casesensitive: bool]): str
inputstr: Ordezkapenak jasango dituen sarrerako katea.
oldstr: Kate bat edo kateen matrize bat. Zero luzerako kateei ez ikusiarena egingo zaie.
newstr: Ordezko katea edo kateen matrizea.
oldstr matrize bat bada, oldstr barruko edozein elementuren agerraldi bakoitzaren ordez newstr sartuko da.
oldstr eta newstr matrizeak badira, ordezkapenak banan-banan egingo dira, UBound(newstr) baliora iritsi arte.
oldstr parametroak newstr parametroak baino sarrera gehiago baditu, oldstr parametroko hondar-elementuak newstr parametroko azken elementuarekin ordeztuko da.
occurrences: Ordezkapenen gehieneko kopurua. Balio lehenetsia 0 da, alegia, agerraldi guztiak ordeztuko dira.
oldstr matrize bat bada, occurrence parametroa matrizeko elementu bakoitzerako banan-banan kalkulatuko da.
casesensitive: Konparazioan maiuskulak/minuskulak kontuan hartu daitezke edo ez (Balio lehenetsia = False).
    MsgBox SF_String.ReplaceStr("100 xxx 200 yyy", Array("xxx", "yyy"), Array("(1)", "(2)"), CaseSensitive := False)
    ' "100 (1) 200 (2)"
    MsgBox SF_String.ReplaceStr("abCcdefghHij", Array("c", "h"), Array("Y", "Z"), CaseSensitive := False)
    ' "abYYdefgZZij"
  Argumentuaren irudikapen irakurgarria duen kate bat itzultzen du, emandako luzeran moztua. Funtzio hau arazketarako eta egunkarian informazioa gordetzeko da erabilgarria.
anyvalue parametroa objektu bat bada, "[" eta "]" kortxeteekin inguratuko da.
Kateetan, tabulazioen eta lerro-jauzien ordez \t, \n edo \r erabiliko da.
Azken luzera maxlength baino luzeagoa bada, katearen azken aldean " ... (N)" erabiliko da, non N mozketa gertatu baino lehenago jatorrizko kateak zuen luzera den.
svc.Represent(anyvalue: any, [maxlength: int]): str
anyvalue: Irudikatuko den sarrerako balioa. Edozein balio izan daiteke: kate bat, matrize bat, Basic objektu bat, UNO objektu bat, etab.
maxlength: Emaitza gisa sortuko den katearen gehieneko luzera. Balio lehenetsia 0 da, alegia, ez dagoela mugarik luzeran.
    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]"
  Kontuan izan matrizeen eta ScriptForge.Dictionary objektu-instantzien irudikapenek bai datu mota bai balioak barne hartzen dituztela:
    ' Adibide bat Basic-en matrize integratu batekin
    MsgBox SF_String.Represent(Array(1, 2, "Text" & Chr(9) & "here"))
    ' "[ARRAY] (0:2) (1, 2, Text\there)"
    ' Adibide bat ScriptForge matrize batekin
    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)"
    ' Adibide bat ScriptForge hiztegi batekin
    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)"
  Sarrerako katea alderantzizko ordenan itzultzen du.
Metodo hori StrReverse Basic funtzioaren baliokidea da.
StrReverse funtzioa erabiltzeko, Option VBASupport 1 instrukzioak presente egon behar du moduluan.
svc.Reverse(inputstr: str): str
inputstr: Alderantzikatuko den katea.
    MsgBox SF_String.Reverse("abcdefghij") ' "jihgfedcba"
  Zeron oinarritutako kate-matrize bat itzultzen du sarrerako katearen lerroekin osatuta. Matrizearen elementu bakoitza lortzeko, sarrerako katea lerro-jauzien karaktereak dauden tokietan zatitzen da.
svc.SplitLines(inputstr: str, [keepbreaks: int]): str[0..*]
inputstr: Zatituko den katea.
keepbreaks: True bada, lerro-jauziak mantendu egingo dira irteerako matrizean (lehenetsia = False).
    Dim a as Variant
    a = SF_String.SplitLines("Line1" & Chr(10) & "Line2" & Chr(13) & "Line3")
    ' a = Array("Line1", "Line2", "Line3")
    a = SF_String.SplitLines("Line1" & Chr(10) & "Line2" & Chr(13) & "Line3" & Chr(10))
    ' a = Array("Line1", "Line2", "Line3", "")
    a = SF_String.SplitLines("Line1" & Chr(10) & "Line2" & Chr(13) & "Line3" & Chr(10), KeepBreaks := True)
    ' a = Array("Line1\n", "Line2\r", "Line3\n", "")
  Kate bat elementuen matrize batera zatitzen du zehaztutako mugatzaile bat erabilita.
Komatxo arteko azpikate batek mugatzaile bat badu, ez ikusiarena egingo zaio. Hau erabilgarria da komatxo arteko kateak dituzten CSV motako erregistroak analizatu nahi badira.
svc.SplitNotQuoted(inputstr: str, [delimiter: str], [occurrences: int], [quotechar: str]): str[0..*]
inputstr: Zatituko den katea.
delimiter: Mugatzaile gisa erabiliko diren karaktere batez edo batzuez osatutako katea. Mugatzaile lehenetsia zuriunearen ASCII karakterea, "", da.
occurrences: Itzuliko den gehieneko azpikate kopurua. Balio lehenetsia 0 da, horrek esan nahi du ez dagoela mugarik itzulitako kateen kopuruan.
quotechar : Komatxo soilak (') edo bikoitzak (").
    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""', '')
  Kontuan izan Basic eta Python lengoaiek modu desberdinean adierazten dituztela kateak. Adibidez, Basic-en bi "" karaktere badaude kate baten barruan, " karaktere bakar gisa hartzen dira. Python-en, berriz, komatxo soilekin inguratutako kateek " karaktereak eduki ditzakete eta ez dira haiek bikoiztu behar.
True itzuliko du kate baten lehen karaktereak emandako azpikatearen berdinak badira.
Metodo honek False itzultzen du sarrerako katearen edo azpikatearen luzera 0 bada edo azpikatea sarrerako katea baino luzeagoa bada.
svc.StartsWith(inputstr: str, substring: str, [casesensitive: bool]): bool
inputstr: Aztertuko den katea.
substring: inputstr hasieran bilatuko den azpikatea.
casesensitive: Konparazioan maiuskulak/minuskulak kontuan hartu daitezke edo ez (Balio lehenetsia = False).
    MsgBox SF_String.StartsWith("abcdefg", "ABC") 'True
    MsgBox SF_String.StartsWith("abcdefg", "ABC", CaseSensitive := True) 'False
  Sarrerako katea ezkerreko eta eskuineko zuriuneak kenduta itzultzen du.
svc.TrimExt(inputstr: str): str
inputstr: Moztuko den katea.
    MsgBox SF_String.TrimExt(" Some text.  ") ' "Some text."
    MsgBox SF_String.TrimExt("   ABCDEF" & Chr(9) & Chr(10) & Chr(13) & " ") ' "ABCDEF"
  Sarrerako katean ihes egindako edozein sekuentzia (\\, \n, \r, \t) dagokion ASCII karaktere bihurtzen du.
svc.Unescape(inputstr: str): str
inputstr: Bihurtuko den katea.
    MsgBox SF_String.Unescape("abc\n\tdef\\n")
    ' "abc" & Chr(10) & Chr(9) & "def\n"
  Sarrerako katea inguratzen dituzten komatxo soilak edo bikoitzak kentzen ditu.
Hau komatxo arteko kateak dituzten CSV erregistroak analizatzeko da erabilgarria.
svc.Unquote(inputstr: str, [quotechar: str]): str
inputstr: Komatxoak kenduko zaizkion katea.
quotechar: Komatxo soila (') edo bikoitza (") (lehenetsia).
    Dim s as String
    ' s = "Some text" (inguruko komatxorik gabe)
    s = SF_String.Unquote("""Some text""")
    'Beheko kateak ez du komatxorik inguruan, beraz ez da aldatuko
    ' s = "Some text" (aldaketarik gabe)
    s = SF_String.Unquote("Some text")
    ' Katearen barruko komatxoak ez dira kenduko
    ' s = "The ""true"" meaning" (aldaketarik gabe)
    s = SF_String.Unquote("The ""true"" meaning")
  Sarrerako katea azpikateen matrize bihurtzen du, matrizeko elementu bakoitzak gehienez karaktere kopuru jakin bat duela.
Praktikan, metodo honek zeron oinarritutako matrize bat itzultzen du irteerako lerroekin, amaieran lerro berririk gabe, lehendik zeuden lerro-jauziak salbu.
Tabulazioak ExpandTabs metodoan gauzatutako prozedura bera erabilita hedatzen dira.
Lerro-jauzi sinbolikoen ordez haien baliokideak diren ASCII karaktereak erabiltzen dira.
Egokitutako irteerak ez badu edukirik, itzulitako matrizea hutsik egongo da.
svc.Wrap(inputstr: str, [width: int], [tabsize: int]): str
inputstr: Egokituko den katea.
width: Lerro bakoitzaren gehieneko karaktere kopurua (lehenetsia = 70).
tabsize: Testua egokitu baino lehen, lehendik dauden TAB Chr(9) karaktereen ordez zuriuneak kokatzen dira. tabsize argumentuak honako tokietan definitzen ditu TAB geldiuneak: TabSize + 1, 2 * TabSize + 1 , ... N * TabSize + 1 (lehenetsia = 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...')