ScriptForge.String zerbitzua

String zerbitzuak kateak prozesatzeko metodoen bilduma bat eskaintzen du. Metodo horiek hurrengo helburuetarako erabili daitezke:

Definizioak

Lerro-jauziak

String zerbitzuak hurrengo lerro-jauziak ezagutzen ditu:

Izen sinbolikoa

ASCII zenbakia

Lerro-jauzia
Tabulazio bertikala
Orga-itzulera
Lerro-jauzia + Orga-itzulera
Fitxategi-bereizlea
Talde-bereizlea
Erregistro-bereizlea
Hurrengo lerroa
Lerro-bereizlea
Paragrafo-bereizlea

10
12
13
10 + 13
28
29
30
133
8232
8233


Zuriuneak

String zerbitzuak hurrengo zuriuneak ezagutzen ditu:

Izen sinbolikoa

ASCII zenbakia

Zuriunea
Tabulazio horizontala
Lerro-jauzia
Tabulazio bertikala
Inprimaki-jauzia
Orga-itzulera
Hurrengo lerroa
Zuriune zatiezina
Lerro-bereizlea
Paragrafo-bereizlea

32
9
10
11
12
13
133
160
8232
8233


Ihes-sekuentziak

Behean, kateetan erabili daitezkeen ihes-sekuentzien zerrenda bat.

Ihes-sekuentzia

Izen sinbolikoa

ASCII zenbakia

\n
\r
\t

Lerro-jauzia
Orga-itzulera
Tabulazio horizontala

10
13
9


tip

Ihes-sekuentzia den "\n" benetan kate gisa interpretatua izan dadin, erabili "\\n" katea "\" & Chr(10) erabili ordez.


Karaktere ez inprimagarriak:

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.

Komatxoak kateen barruan:

Kateei komatxoak gehitzeko, erabili \' (komatxo soila) edo \" (komatxo bikoitza). Adibidez:

Zerbitzuari deitzea

ScriptForge.String zerbitzua erabili baino lehen, ScriptForge liburutegia honakoa erabilita kargatu behar da:


      GlobalScope.BasicLibraries.LoadLibrary("ScriptForge")
  

Hurrengo kode-zatiek String zerbitzuko metodoei deitzeko hiru modu erakusten dituzte (ExpandTabs metodoa adibidetzat hartu da):


        SF_String.ExpandTabs(...)
    

        Dim s : s = SF_String
        s.ExpandTabs(...)
    

        Dim s : s = CreateScriptService("String")
        s.ExpandTabs(...)
    

Propietateak

SF_String objektuak honako propietateak eskaintzen ditu:

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:
1) Chr(13) & Chr(10) edo
2) Lerro-jauzia: Chr(10)
sistema eragilearen arabera.

sfTAB

Bai

Tabulazio horizontala: Chr(9)


tip

Goiko propietateak erabili daitezke kateen barruan karaktereak identifikatu edo txertatzeko. Adibidez, lerro-jauziaren ordez SF_String.sfLF erabili daiteke.


List of Methods in the String Service

Capitalize
Count
EndsWith
Escape
ExpandTabs
FilterNotPrintable
FindRegex
HashStr
HtmlEncode
IsADate
IsAlpha
IsAlphaNum
IsAscii
IsDigit
IsEmail

IsFileName
IsHexDigit
IsIBAN
IsIPv4
IsLike
IsLower
IsPrintable
IsRegex
IsSheetName
IsTitle
IsUpper
IsUrl
IsWhitespace
JustifyCenter
JustifyLeft

JustifyRight
Quote
ReplaceChar
ReplaceRegex
ReplaceStr
Represent
Reverse
SplitLines
SplitNotQuoted
StartsWith
TrimExt
Unescape
Unquote
Wrap


note

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.


Capitalize

Sarrerako kateko hitz bakoitzaren lehen karakterea maiuskula bihurtzen du.

Sintaxia:


       SF_String.Capitalize(InputStr As String) As String
     

Parametroak:

InputStr: Hitz bakoitzaren lehen karakterea maiuskula bihurtuko zaion katea.

Adibidea:


       Dim sName as String : sName = "john smith"
       Dim sCapitalizedName as String
       sCapitalizedName = SF_String.Capitalize(sName)
       MsgBox sCapitalizedName 'John Smith
     

Count

Kate baten barruan azpikate edo adierazpen erregular bat zenbat aldiz ageri den zenbatzen du.

Sintaxia:


        SF_String.Count(InputStr As String, Substring As String[, IsRegex As Boolean][, CaseSensitive As Boolean]) As Long
      

Parametroak:

InputStr: Aztertuko den sarrerako katea.

Substring: Bilaketan erabiliko den azpikatea edo adierazpen erregularra.

IsRegex: Erabili True azpikatea adierazpen erregular bat bada (lehenetsia = False)

CaseSensitive: Lehenetsia = False

Adibidea:


        ' "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)
      
tip

Adierazpen erregularrei buruz gehiago jakiteko, begiratu Python lengoaiaren dokumentazioa Regular Expression Operations estekan.


EndsWith

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.

Sintaxia:


       SF_String.EndsWith(InputStr As String, Substring As String[, CaseSensitive As Boolean]) As Boolean
     

Parametroak:

InputStr: Probatuko den katea.

Substring: InputStr amaieran bilatuko den azpikatea.

CaseSensitive: Konparazioan maiuskulak/minuskulak kontuan hartu daitezke edo ez (balio lehenetsia = False).

Adibidea:


        '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)
      

Escape

Sarrerako katean dauden lerro-jauziak eta tabulazioak haietako bakoitzari dagokion ihes egindako sekuentzia bihurtzen ditu (\\, \n, \r, \t).

Sintaxia:


          SF_String.Escape(InputStr As String) As String
      

Parametroak:

InputStr: Bihurtuko den katea.

Adibidea:


          ' "abc\n\tdef\\n" katea itzultzen du
          MsgBox SF_String.Escape("abc" & Chr(10) & Chr(9) & "def\n")
        

ExpandTabs

Chr(9) tabulazio-karaktereak zuriuneekin ordezten ditu, tabulazioen portaera erreplikatzeko.

Lerro-jauzi bat aurkitzen bada, lerro berria hasiko da eta karaktere-kontagailua berrezarriko da.

Sintaxia:


        SF_String.ExpandTabs(InputStr As String[, TabSize As Integer]) As String
      

Parametroak:

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)

Adibidea:


        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
      

FilterNotPrintable

Sarrerako katean inprimagarriak ez diren karaktere guztiak ordezten ditu emandako karaktere batekin.

Sintaxia:


        SF_String.FilterNotPrintable(InputStr As String[, ReplacedBy As String]) As String
      

Parametroak:

InputStr: Sarrerako katea.

ReplacedBy: InputStr katean dauden karaktere ez inprimagarri guztiak ordeztuko dituzten zero, bat edo hainbat karaktere (Lehenetsia = "")

Adibidea:


        Dim LF : LF = Chr(10)
        Dim myText as String
        myText = "àén ΣlPµ" & LF & " Русский" & "\n"
        MsgBox SF_String.FilterNotPrintable(myText)
        ' "àén ΣlPµ Русский\n"
      

FindRegex

Kate batean adierazpen erregular batekin bat egiten duen azpikate bat aurkitzen du.

Sintaxia:


        SF_String.FindRegex(InputStr As String, Regex As String[, Start As Long[, CaseSensitive As Boolean[, Forward As Boolean]]]) As String
      

Parametroak:

InputStr: Sarrerako 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: 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.

Adibidea:


        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
      
tip

Goiko adibidean, hurrengo iterazioan Start parametroan lStart + Len(emaitza) jarrita, lStart funtzioak ematen duen balio berria sarrerako kate bera bilatzen jarraitu dezan ezarri daiteke.


HashStr

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.

Sintaxia:


          SF_String.HashStr(InputStr As String, Algorithm As String) As String
      

Parametroak:

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.

Adibidea:


          MsgBox SF_String.HashStr("œ∑¡™£¢∞§¶•ªº–≠œ∑´®†¥¨ˆøπ‘åß∂ƒ©˙∆˚¬", "MD5")
          ' c740ccc2e201df4b2e2b4aa086f35d8a
      

HtmlEncode

Sarrerako katea HTML karaktere-kode gisa kodetzen du, karaktere berezien ordez & homologoak ezarrita.

Adibidez, é karakterearen ordez &eacute; edo horren baliokide bat, zenbakizko HTML kode forman, erabiliko da.

Sintaxia:


        SF_String.HtmlEncode(InputStr) As String
      

Parametroak:

InputStr: Kodetuko den katea.

Adibidea:


        MsgBox SF_String.HtmlEncode("<a href=""https://a.b.com"">From α to ω</a>")
        ' "&lt;a href=&quot;https://a.b.com&quot;&gt;From &#945; to &#969;&lt;/a&gt;"
      

IsADate

True itzultzen du sarrerako katea baliozko data bat bada zehaztutako data-formatuari kasu eginda.

Sintaxia:


        SF_String.IsADate(InputStr As String[, DateFormat As String]) As Boolean
      

Parametroak:

InputStr: Egiaztatuko den katea. Hutsik badago, metodoak False itzuliko du.

DateFormat: Dataren formatua, kate gisa."YYYY-MM-DD" (lehenetsia), "DD-MM-YYYY" edo "MM-DD-YYYY" izan daiteke.

Marratxoaren (-) ordez puntu bat (.), barra bat (/) edo zuriune bat erabili daiteke.

Formatua baliogabea bada, metodoak False itzuliko du.

Adibidea:


        MsgBox SF_String.IsADate("2020-12-31", "YYYY-MM-DD") ' True
      
note

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
  

IsAlpha

True itzuliko du kateko karaktere guztiak alfabetikoak badira.

Karaktere alfabetikoak Unicode karaktereen datu-basean Letter gisa definituta daudenak dira.

Sintaxia:


        SF_String.IsAlpha(InputStr As String) As Boolean
      

Parametroak:

InputStr: Egiaztatuko den katea. Hutsik badago, metodoak False itzuliko du.

Adibidea:


        MsgBox SF_String.IsAlpha("àénΣlPµ") 'True
        MsgBox SF_String.IsAlpha("myVar3") 'False
      

IsAlphaNum

True itzuliko du karaktere guztiak alfabetikoak, digituak edo "_" (azpimarra) badira. Lehen karaktereak ezin du digitua izan.

Sintaxia:


        SF_String.IsAlphaNum(InputStr As String) As Boolean
      

Parametroak:

InputStr: Egiaztatuko den katea. Hutsik badago, metodoak False itzuliko du.

Adibidea:


        MsgBox SF_String.IsAlphaNum("_ABC_123456_abcàénΣlPµ") 'True
        MsgBox SF_String.IsAlphaNum("123ABC") 'False
      

IsAscii

True itzuliko du kateko karaktere guztiak ASCII karaktereak badira.

Sintaxia:


        SF_String.IsAscii(InputStr As String) As Boolean
      

Parametroak:

InputStr: Egiaztatuko den katea. Hutsik badago, metodoak False itzuliko du.

Adibidea:


        MsgBox SF_String.IsAscii("a%?,25") 'True
        MsgBox SF_String.IsAscii("abcàénΣlPµ") 'False
      

IsDigit

True itzuliko du kateko karaktere guztiak digituak badira.

Sintaxia:


        SF_String.IsDigit(InputStr As String) As Boolean
      

Parametroak:

InputStr: Egiaztatuko den katea. Hutsik badago, metodoak False itzuliko du.

Adibidea:


        MsgBox SF_String.IsDigit("123456") 'True
        MsgBox SF_String.IsDigit("_12a") 'False
      

IsEmail

True itzuliko du katea baliozko posta elektronikoko helbidea bada.

Sintaxia:


        SF_String.IsEmail(InputStr As String) As Boolean
      

Parametroak:

InputStr: Egiaztatuko den katea. Hutsik badago, metodoak False itzuliko du.

Adibidea:


        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
      

IsFileName

True itzuliko du katea baliozko fitxategi-izena bada emandako sistema eragilean.

Sintaxia:


        SF_String.IsFileName(InputStr As String[, OSName As String]) As Boolean
      

Parametroak:

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.

Adibidea:


        MsgBox SF_String.IsFileName("~/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
      

IsHexDigit

True itzuliko du kateko karaktere guztiak digitu hamaseitarrak badira.

Sintaxia:


        SF_String.IsHexDigit(InputStr As String) As Boolean
      

Parametroak:

InputStr: Egiaztatuko den katea. Hutsik badago, metodoak False itzuliko du.

Digitu hamaseitarrek "0x" edo "&H" eduki dezakete aurrizki gisa.

Adibidea:


        MsgBox SF_String.IsHexDigit("&H00FF") 'True
        MsgBox SF_String.IsHexDigit("08AAFF10") 'True
        MsgBox SF_String.IsHexDigit("0x18LA22") 'False
      

IsIBAN

True itzuliko du katea baliozko International Bank Account Number (IBAN) bat bada. Konparazioak ez ditu maiuskulak/minuskulak bereiziko.

note

Metodo hau LibreOffice 7.2 bertsiotik aurrera dago erabilgarri.


Sintaxia:


        SF_String.IsIBAN(InputStr As String) As Boolean
      

Parametroak:

InputStr: Egiaztatuko den katea. Hutsik badago, metodoak False itzuliko du.

Itzulera-balioa:

True, kateak baliozko IBAN zenbaki bat badu.

Adibidea:


        MsgBox SF_String.IsIBAN("BR15 0000 0000 0000 1093 2840 814 P2") 'returns True
      

IsIPv4

True itzultzen du katea baliozko IP(v4) helbidea bada.

Sintaxia:


        SF_String.IsIPv4(InputStr As String) As Boolean
      

Parametroak:

InputStr: Egiaztatuko den katea. Hutsik badago, metodoak False itzuliko du.

Adibidea:


        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
      

IsLike

True itzultzen du sarrerako kate osoa bat badator komodinak dituen eredu batekin.

Sintaxia:


        SF_String.IsLike(InputStr As String, Pattern As String[, CaseSensitive As Boolean) As Boolean
      

Parametroak:

InputStr: Egiaztatuko den katea. Hutsik badago, metodoak False itzuliko du.

Pattern: Eredua kate gisa. Komodinak honakoak dira:

CaseSensitive: Lehenetsia = False.

Adibidea:


        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
      

IsLower

True itzultzen du kateko karaktere guztiak minuskulak badira. Alfabetikoak ez diren karaktereei ez ikusiarena egingo zaie.

Sintaxia:


        SF_String.IsLower(InputStr As String) As Boolean
      

Parametroak:

InputStr: Egiaztatuko den katea. Hutsik badago, metodoak False itzuliko du.

Adibidea:


        MsgBox SF_String.IsLower("abc'(-xy4z") 'True
        MsgBox SF_String.IsLower("1234") ' True
        MsgBox SF_String.IsLower("abcDefg") 'False
      

IsPrintable

True itzultzen du kateko karaktere guztiak inprimagarriak badira.

Sintaxia:


        SF_String.IsPrintable(InputStr As String) As Boolean
      

Parametroak:

InputStr: Egiaztatuko den katea. Hutsik badago, metodoak False itzuliko du.

Adibidea:


        MsgBox SF_String.IsPrintable("àén ΣlPµ Русский") 'True
        MsgBox SF_String.IsPrintable("First line." & Chr(10) & "Second Line.") 'False
      

IsRegex

True itzultzen du sarrerako kate osoa bat badator emandako adierazpen erregular batekin.

Sintaxia:


        SF_String.IsRegex(InputStr As String, Regex As String[, CaseSensitive As Boolean) As Boolean
      

Parametroak:

InputStr: Egiaztatuko den katea. Hutsik badago, metodoak False itzuliko du.

Regex: Adierazpen erregularra, Hutsik badago, metodoak False itzuliko du.

CaseSensitive: Lehenetsia = False.

Adibidea:


        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
      

IsSheetName

True itzultzen du sarrerako katea Calc aplikazioaren baliozko orri-izen bat bada.

Sintaxia:


          SF_String.IsSheetName(InputStr As String) As Boolean
      

Parametroak:

InputStr: Egiaztatuko den katea. Hutsik badago, metodoak False itzuliko du.

Adibidea:


          MsgBox SF_String.IsSheetName("1àbc + ""déf""") 'True
          MsgBox SF_String.IsSheetName("[MySheet]") 'False
      
note

Orri-izen batek ezin ditu [ ] * ? : / \ karaktereak edo ' (komatxoa) karakterea eduki lehen edo azken karakteretzat.


IsTitle

True itzultzen du hitza bakoitzaren lehen karakterea maiuskula bada eta beste karaktereak minuskula.

Sintaxia:


        SF_String.IsTitle(InputStr As String) As Boolean
      

Parametroak:

InputStr: Egiaztatuko den katea. Hutsik badago, metodoak False itzuliko du.

Adibidea:


        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
      

IsUpper

True itzultzen du kateko karaktere guztiak maiuskula badira. Alfabetikoak ez diren karaktereei ez ikusiarena egingo zaie.

Sintaxia:


        SF_String.IsUpper(InputStr As String) As Boolean
      

Parametroak:

InputStr: Egiaztatuko den katea. Hutsik badago, metodoak False itzuliko du.

Adibidea:


        MsgBox SF_String.IsUpper("ABC'(-XYZ") 'True
        MsgBox SF_String.IsUpper("A Title") 'False
      

IsUrl

True itzultzen du katea baliozko URL (Uniform Resource Locator) helbide absolutua bada. Onartutako protokoloak http, https eta ftp dira.

Sintaxia:


        SF_String.IsUrl(InputStr As String) As Boolean
      

Parametroak:

InputStr: Egiaztatuko den katea. Hutsik badago, metodoak False itzuliko du.

Adibidea:


        MsgBox SF_String.IsUrl("http://foo.bar/?q=Test%20URL-encoded%20stuff") 'True
        MsgBox SF_String.IsUrl("www.somesite.org") 'False
      

IsWhitespace

True itzultzen du kateko karaktere guztiak zuriuneak badira.

Sintaxia:


        SF_String.IsWhitespace(InputStr As String) As Boolean
      

Parametroak:

InputStr: Egiaztatuko den katea. Hutsik badago, metodoak False itzuliko du.

Adibidea:


        MsgBox SF_String.IsWhitespace("    ") 'True
        MsgBox SF_String.IsWhitespace(" " & Chr(9) & Chr(10)) 'True
        MsgBox SF_String.IsWhitespace("") 'False
      

JustifyCenter

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.

Sintaxia:


        SF_String.JustifyCenter(InputStr As String[, Length As Long[, Padding As String]]) As String
      

Parametroak:

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 modura erabiliko den karaktere soila (lehenetsia = " " ASCII zuriunea).

Adibidea:


        MsgBox SF_String.JustifyCenter("Title", Length := 11) ' "   Title   "
        MsgBox SF_String.JustifyCenter("    ABCDE", Padding := "_") ' "__ABCDEF__"
        MsgBox SF_String.JustifyCenter("A Long Title", Length := 5) ' "ong T"
      

JustifyLeft

Sarrerako katea ezkerrean justifikatuta itzultzen du.

Ezkerreko zuriuneak kendu egingo dira eta geratzen diren karaktereak eskuinetik osatuko dira zehaztutako Length luzeraraino Padding karakterea erabilita.

Sintaxia:


        SF_String.JustifyLeft(InputStr As String[, Length As Long[, Padding As String]]) As String
      

Parametroak:

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 modura erabiliko den karaktere soila (lehenetsia = " " ASCII zuriunea).

Adibidea:


        MsgBox SF_String.JustifyLeft("Title", Length := 10) ' "Title     "
        MsgBox SF_String.JustifyLeft("    ABCDE", Padding := "_") ' "ABCDEF____"
        MsgBox SF_String.JustifyLeft("A Long Title", Length := 5) ' "A Lon"
      

JustifyRight

Sarrerako katea eskuinean justifikatuta itzultzen du.

Ezkerreko zuriuneak kendu egingo dira eta geratzen diren karaktereak ezkerretik osatuko dira zehaztutako Length luzeraraino Padding karakterea erabilita.

Sintaxia:


        SF_String.JustifyRight(InputStr As String[, Length As Long[, Padding As String]]) As String
      

Parametroak:

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 modura erabiliko den karaktere soila (lehenetsia = " " ASCII zuriunea).

Adibidea:


        MsgBox SF_String.JustifyRight("Title", Length := 10) ' "     Title"
        MsgBox SF_String.JustifyRight("  ABCDE  ", Padding := "_") ' "____ABCDEF"
        MsgBox SF_String.JustifyRight("A Long Title", Length := 5) ' "Title"
      

Quote

Sarrerako katea komatxo soilekin edo bikoitzekin inguratuta itzultzen du. Lehendik dauden komatxoak, aurretik edota atzetik daudenak barne, ez dira aldatuko.

Sintaxia:


        SF_String.Quote(InputStr As String, [QuoteChar As String]) As String
      

Parametroak:

InputStr: Komatxo artean sartuko den katea.

QuoteChar: Komatxo soila (') edo (lehenetsia) komatxo (") bikoitza.

Adibidea:


        MsgBox SF_String.Quote("Text Value")
        ' "Text Value"
        MsgBox SF_String.Quote("Book Title: ""The Arabian Nights""", "'")
        ' 'Book Title: "The Arabian Nights"'
      
tip

Metodo hori erabilgarria izan daiteke kateen eremu bat CSV formatuan gordetzeko prestatzen denean, horrek eskatzen baitu testu-balioak komatxo soilekin edo bikoitzekin inguratuta egotea.


ReplaceChar

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.

Sintaxia:


        SF_String.ReplaceChar(InputStr As String, Before As String, After As String) As String
      

Parametroak:

InputStr: Ordezkapena jasango duen katea.

Before: Sarrerako katean ordezteko bilatuko diren karaktereak dituen kate bat.

After: Before parametroan definitu diren karaktereak ordeztuko dituzten karaktere berriak dituen kate bat.

Adibidea:


        ' 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"
      

ReplaceRegex

Emandako adierazpen erregular baten agerraldi guztiak kate berri batekin ordezten ditu.

Sintaxia:


        SF_String.ReplaceRegex(InputStr As String, Regex As String, NewStr As String[, CaseSensitive As Boolean]) As String
      

Parametroak:

InputStr: Ordezkapenak jasango dituen sarrerako katea.

Regex: Adierazpen erregularra.

NewStr: Ordezko katea.

CaseSensitive: Lehenetsia = False.

Adibidea:


          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)
      

ReplaceStr

Kate batean, kateen matrize bateko agerraldi batzuk edo guztiak kate berrien matrize batekin ordezten ditu.

Sintaxia:


        SF_String.ReplaceStr(InputStr As String, OldStr As Variant, NewStr As Variant[, Occurrences As Long[, CaseSensitive As Boolean]]) As String
      

Parametroak:

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: Lehenetsia = False.

Adibidea:


        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"
      

Represent

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.

Sintaxia:


        SF_String.Represent(AnyValue As Variant[, MaxLength As Long]) As String
      

Parametroak:

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.

Adibidea:


        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)"
  

Reverse

Sarrerako katea alderantzizko ordenan itzultzen du.

Metodo hori StrReverse Basic funtzioaren baliokidea da, baina errendimendu hobea du.

note

StrReverse funtzioa erabiltzeko, OpTion VBASupport 1 instrukzioak presente egon behar du moduluan.


Sintaxia:


        SF_String.Reverse(InputStr As String) As String
      

Parametroak:

InputStr: Alderantzikatuko den katea.

Adibidea:


        MsgBox SF_String.Reverse("abcdefghij") ' "jihgfedcba"
      

SplitLines

Zeron oinarritutako kate-matrize bat itzultzen du sarrerako katearen lerroekin osatuta. Matrizearen elementu bakoitza lortzeko, sarrerako katea lerro-jauzien karaktereak dauden tokietan zatitzen da.

Sintaxia:


        SF_String.SplitLines(InputStr As String[, KeepBreaks As Long]) As Variant
      

Parametroak:

InputStr: Zatituko den katea.

KeepBreaks: True bada, lerro-jauziak mantendu egingo dira irteerako matrizean (lehenetsia = False).

Adibidea:


        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", "")
      

SplitNotQuoted

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.

Sintaxia:


        SF_String.SplitNotQuoted(InputStr As String[, Delimiter As String], [Occurrences As Long], [QuoteChar As String]) As Variant
      

Parametroak:

InputStr: Zatituko den katea.

Delimiter: Mugatzaile gisa erabiliko diren karaktere bat edo batzuk. Mugatzaile lehenetsia zuriunea 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 (").

Adibidea:


        a = SF_String.SplitNotQuoted("abc def ghi")
        ' a = Array("abc", "def", "ghi")
        a = SF_String.SplitNotQuoted("abc,""def,ghi""", ",")
        ' a = Array("abc", """def,ghi""")
        a = SF_String.SplitNotQuoted("abc,""def\"",ghi""", ",")
         ' a = Array("abc", """def\"",ghi""")
        a = SF_String.SplitNotQuoted("abc,""def\"",ghi"""",", ",")
        ' a = Array("abc", """def\"",ghi""", "")
      

StartsWith

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.

Sintaxia:


        SF_String.StartsWith(InputStr As String, Substring As String[, CaseSensitive As Boolean]) As Boolean
      

Parametroak:

InputStr: Aztertuko den katea.

Substring: InputStr hasieran bilatuko den azpikatea.

CaseSensitive: Lehenetsia = False.

Adibidea:


        MsgBox SF_String.StartsWith("abcdefg", "ABC") 'True
        MsgBox SF_String.StartsWith("abcdefg", "ABC", CaseSensitive := True) 'False
      

TrimExt

Sarrerako katea ezkerreko eta eskuineko zuriuneak kenduta itzultzen du.

Sintaxia:


        SF_String.TrimExt(InputStr As String) As String
      

Parametroak:

InputStr: Moztuko den katea.

Adibidea:


        MsgBox SF_String.TrimExt(" Some text.  ") ' "Some text."
        MsgBox SF_String.TrimExt("   ABCDE" & Chr(9) & Chr(10) & Chr(13) & " ") ' "ABCDEF"
      

Unescape

Sarrerako kateko edozein ihes-sekuentzia (\\, \n, \r, \t) dagokion ASCII karaktere bihurtuko du.

Sintaxia:


        SF_String.Unescape(InputStr As String) As String
      

Parametroak:

InputStr: Bihurtuko den katea.

Adibidea:


        MsgBox SF_String.Unescape("abc\n\tdef\\n")
        ' "abc" & Chr(10) & Chr(9) & "def\n"
      

Unquote

Sarrerako katea inguratzen dituzten komatxo soilak edo bikoitzak kentzen ditu.

Hau komatxo arteko kateak dituzten CSV erregistroak analizatzeko da erabilgarria.

Sintaxia:


        SF_String.Unquote(InputStr As String, [QuoteChar As String]) As String
      

Parametroak:

InputStr: Komatxoak kenduko zaizkion katea.

QuoteChar: Komatxo soila (') edo bikoitza (") (lehenetsia).

Adibidea:


        Dim s as String
        s = SF_String.Unquote("""Testu bat""") ' s = "Testu bat" (inguruko komatxorik gabe)
        ' The string below does not have enclosing quotes, so it remains unchanged
        s = SF_String.Unquote("Testu bat") ' s = "Testu bat" (aldatu gabe)
        ' Katearen barruko komatxoak ez dira kenduko
        s = SF_String.Unquote("The ""true"" meaning") ' s = "The ""true"" meaning"
      

Wrap

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.

Sintaxia:


          SF_String.Wrap(InputStr As String, [Width As Long], [TabSize As Integer]) As String
      

Parametroak:

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 parametroak honako tokietan definitzen ditu TAB geldiuneak: TabSize + 1, 2 * TabSize + 1 , ... N * TabSize + 1 (lehenetsia = 8).

Adibidea:


          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...")
        
warning

Aurrizki gisa azpimarra bat ("_") duten ScriptForge Basic errutina edo identifikatzaile guztiak barneko erabilerarako erreserbatuta daude. Ez daude Basic makroetan erabiltzeko pentsatuta.


Emaguzu laguntza!