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:

Basic lengoaian

      GlobalScope.BasicLibraries.loadLibrary("ScriptForge")
  

Loading the library will create the SF_String object that can be used to call the methods in the String service.

The following code snippets show the three ways to call methods from the String service (the Capitalize method is used as an example):


    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
  
Python lengoaian

The code snippet below illustrates how to invoke methods from the String service in Python scripts. The IsIPv4 method is used as an example.


    from scriptforge import CreateScriptService
    svc = CreateScriptService("String")
    ip_address = '192.168.0.14'
    svc.IsIPv4(ip_address) # True
  

Propietateak

The SF_String object provides the following properties for Basic scripts:

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.


warning

Because Python has comprehensive built-in string support, most of the methods in the String service are available for Basic scripts only. The methods available for Basic and Python are: HashStr, IsADate, IsEmail, IsFileName, IsIBAN, IsIPv4, IsLike, IsSheetName, IsUrl, SplitNotQuoted and Wrap.


Capitalize

Sarrerako kateko hitz bakoitzaren lehen karakterea maiuskula bihurtzen du.

Sintaxia:

svc.Capitalize(inputstr: str): str

Parametroak:

inputstr: The string to be capitalized.

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:

svc.Count(inputstr: str, substring: str, [isregex: bool], [casesensitive: bool]): int

Parametroak:

inputstr: The input string to be examined

substring: The substring or the regular expression to be used during search

isregex: Use True if the substring is a regular expression (Default = False)

casesensitive: The search can be case sensitive or not (Default = 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:

svc.EndsWith(inputstr: str, substring: str, [casesensitive: bool]): bool

Parametroak:

inputstr: The string to be tested.

substring: The substring to be searched at the end of inputstr.

casesensitive: The search can be case sensitive or not (Default = 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:

svc.Escape(inputstr: str): str

Parametroak:

inputstr: The string to be converted.

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:

svc.ExpandTabs(inputstr: str, [tabsize: int]): str

Parametroak:

inputstr: The string to be expanded

tabsize: This parameter is used to determine the Tab stops using the formula: TabSize + 1, 2 * TabSize + 1 , ... N * TabSize + 1 (Default = 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:

svc.FilterNotPrintable(inputstr: str, [replacedby: str]): str

Parametroak:

inputstr: The string to be searched

replacedby: Zero, one or more characters that will replace all non-printable characters in inputstr (Default = "")

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:

svc.FindRegex(inputstr: str, regex: str, [start: int], [casesensitive: bool], [forward: bool]): str

Parametroak:

inputstr: The string to be searched

regex: The regular expression

start: The position in the string where the search will begin. This parameter is passed by reference, so after execution the value of start will point to the first character of the found substring. If no matching substring is found, start will be set to 0.

casesensitive: The search can be case sensitive or not (Default = False).

forward: Determines the direction of the search. If True, search moves forward. If False search moves backwards (Default = True)

At the first iteration, if forward = True, then start should be equal to 1, whereas if forward = False then start should be equal to Len(inputstr)

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:

svc.HashStr(inputstr: str, algorithm: str): str

Parametroak:

inputstr: The string to hash. It is presumed to be encoded in UTF-8. The hashing algorithm will consider the string as a stream of bytes.

algorithm: One of the supported algorithms listed above, passed as a string.

Adibidea:

Basic lengoaian

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

    svc = CreateScriptService("String")
    bas = CreateScriptService("Basic")
    a_string = "œ∑¡™£¢∞§¶•ªº–≠œ∑´®†¥¨ˆøπ‘åß∂ƒ©˙∆˚¬"
    hash_value = svc.HashStr(a_string, "MD5")
    bas.MsgBox(hash_value)
    # 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:

svc.HtmlEncode(inputstr: str): str

Parametroak:

inputstr: The string to encode.

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:

svc.IsADate(inputstr: str, [dateformat: str]): bool

Parametroak:

inputstr: The string to be checked. If empty, the method returns False

dateformat: The date format, as a string. It can be either "YYYY-MM-DD" (default), "DD-MM-YYYY" or "MM-DD-YYYY"

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

Formatua baliogabea bada, metodoak False itzuliko du.

Adibidea:

Basic lengoaian

    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
  
Python lengoaian

    svc = CreateScriptService("String")
    s_date = "2020-12-31"
    result = svc.IsADate(s_date) # True
  

IsAlpha

True itzuliko du kateko karaktere guztiak alfabetikoak badira.

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

Sintaxia:

svc.IsAlpha(inputstr: str): bool

Parametroak:

inputstr: The string to be checked. If empty, the method returns False.

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:

svc.IsAlphaNum(inputstr: str): bool

Parametroak:

inputstr: The string to be checked. If empty, the method returns False.

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:

svc.IsAscii(inputstr: str): bool

Parametroak:

inputstr: The string to be checked. If empty, the method returns False.

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:

svc.IsDigit(inputstr: str): bool

Parametroak:

inputstr: The string to be checked. If empty, the method returns False.

Adibidea:


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

IsEmail

True itzuliko du katea baliozko posta elektronikoko helbidea bada.

Sintaxia:

svc.IsEmail(inputstr: str): bool

Parametroak:

inputstr: The string to be checked. If empty, the method returns False.

Adibidea:

Basic lengoaian

    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
  
Python lengoaian

    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
  

IsFileName

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

Sintaxia:

svc.IsFileName(inputstr: str, [osname: str]): bool

Parametroak:

inputstr: The string to be checked. If empty, the method returns False.

osname: The operating system name, as a string. It can be "WINDOWS", "LINUX", "MACOSX" or "SOLARIS".

Balio lehenetsia scripta exekutatzen ari den uneko sistema eragilea da.

Adibidea:

Basic lengoaian

    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
  
Python lengoaian

    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
  

IsHexDigit

True itzuliko du kateko karaktere guztiak digitu hamaseitarrak badira.

Sintaxia:

svc.IsHexDigit(inputstr: str): bool

Parametroak:

inputstr: The string to be checked. If empty, the method returns False.

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.

Sintaxia:

svc.IsIBAN(inputstr: str): bool

Parametroak:

inputstr: The string to be checked. If empty, the method returns False.

Itzulera-balioa:

True, kateak baliozko IBAN zenbaki bat badu.

Adibidea:


    ' 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
  

IsIPv4

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

Sintaxia:

svc.IsIPv4(inputstr: str): bool

Parametroak:

inputstr: The string to be checked. If empty, the method returns False.

Adibidea:

Basic lengoaian

    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
  
Python lengoaian

    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
  

IsLike

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

Sintaxia:

svc.IsLike(inputstr: str, pattern: str, [casesensitive: bool]): bool

Parametroak:

inputstr: The string to be checked. If empty, the method returns False.

pattern: The pattern as a string. Wildcards are:

casesensitive: The search can be case sensitive or not (Default = False).

Adibidea:

Basic lengoaian

    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
  
Python lengoaian

    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
  

IsLower

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

Sintaxia:

svc.IsLower(inputstr: str): bool

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:

svc.IsPrintable(inputstr: str): bool

Parametroak:

inputstr: The string to be checked. If empty, the method returns False.

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:

svc.IsRegex(inputstr: str, regex: str, [casesensitive: bool]): bool

Parametroak:

inputstr: The string to be checked. If empty, the method returns False.

regex: The regular expression. If empty, the method returns False.

casesensitive: The search can be case sensitive or not (Default = 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:

svc.IsSheetName(inputstr: str): bool

Parametroak:

inputstr: The string to be checked. If empty, the method returns False.

Adibidea:

Basic lengoaian

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

    svc = CreateScriptService("String")
    bas = CreateScriptService("Basic")
    bas.MsgBox(svc.IsSheetName("1àbc + ""déf""")) # True
    bas.MsgBox(svc.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:

svc.IsTitle(inputstr: str): bool

Parametroak:

inputstr: The string to be checked. If empty, the method returns False.

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:

svc.IsUpper(inputstr: str): bool

Parametroak:

inputstr: The string to be checked. If empty, the method returns False.

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:

svc.IsUrl(inputstr: str): bool

Parametroak:

inputstr: The string to be checked. If empty, the method returns False.

Adibidea:

Basic lengoaian

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

    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
  

IsWhitespace

True itzultzen du kateko karaktere guztiak zuriuneak badira.

Sintaxia:

svc.IsWhitespace(inputstr: str): bool

Parametroak:

inputstr: The string to be checked. If empty, the method returns False.

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.

The leading and trailing white spaces are stripped and the remaining characters are completed left and right up to a specified total length with the character padding.

Sintaxia:

svc.JustifyCenter(inputstr: str, [length: int], [padding: str]): str

Parametroak:

inputstr: The string to be center-justified. If empty, the method returns an empty string.

length: The length of the resulting string (default = the length of the input string).

Zehaztutako luzera erdian justifikatutako sarrerako katearena baino laburragoa bada, itzulitako katea moztu egingo da.

padding: The single character to be used as padding (default = the Ascii space " ").

Adibidea:


    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"
  

JustifyLeft

Sarrerako katea ezkerrean justifikatuta itzultzen du.

The leading white spaces are stripped and the remaining characters are completed to the right up to a specified total length with the character padding.

Sintaxia:

svc.JustifyLeft(inputstr: str, [length: int], [padding: str]): str

Parametroak:

inputstr: The string to be left-justified. If empty, the method returns an empty string.

length: The length of the resulting string (default = the length of the input string).

Zehaztutako luzera ezkerrean justifikatutako sarrerako katearena baino laburragoa bada, itzulitako katea moztu egingo da.

padding: The single character to be used as padding (default = the Ascii space " ").

Adibidea:


    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"
  

JustifyRight

Sarrerako katea eskuinean justifikatuta itzultzen du.

The leading white spaces are stripped and the remaining characters are completed to the left up to a specified total length with the character padding.

Sintaxia:

svc.JustifyRight(inputstr: str, [length: int], [padding: str]): str

Parametroak:

inputstr: The string to be right-justified. If empty, the method returns an empty string.

length: The length of the resulting string (default = the length of the input string).

Zehaztutako luzera eskuinean justifikatutako sarrerako katearena baino laburragoa bada, itzulitako katea moztu egingo da.

padding: The single character to be used as padding (default = the Ascii space " ").

Adibidea:


    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"
  

Quote

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

Sintaxia:

svc.Quote(inputstr: str, [quotechar: str]): str

Parametroak:

inputstr: The string to quote.

quotechar: Either the single (') or double (") quote (default).

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:

svc.ReplaceChar(inputstr: str, before: str, after: str): str

Parametroak:

inputstr: The input string on which replacements will occur.

before: A string with the characters that will be searched in the input string for replacement.

after: A string with the new characters that will replace those defined in before.

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:

svc.ReplaceRegex(inputstr: str, regex: str, newstr: str, [casesensitive: bool]): str

Parametroak:

inputstr: The input string on which replacements will occur.

regex: The regular expression.

newstr: The replacing string.

casesensitive: The search can be case sensitive or not (Default = 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:

svc.ReplaceStr(inputstr: str, oldstr: str, newstr: str, [occurrences: int], [casesensitive: bool]): str

Parametroak:

inputstr: The input string on which replacements will occur.

oldstr: A single string or an array of strings. Zero-length strings are ignored.

newstr: The replacing string or the array of replacing strings.

If oldstr is an array, each occurrence of any of the items in oldstr is replaced by newstr.

If oldstr and newstr are arrays, replacements occur one by one up to the UBound(newstr).

If oldstr has more entries than newstr, then the residual elements in oldstr are replaced by the last element in newstr.

occurrences: The maximum number of replacements. The default value is 0, meaning that all occurrences will be replaced.

When oldstr is an array, the occurrence parameter is computed separately for each item in the array.

casesensitive: The search can be case sensitive or not (Default = 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.

If the anyvalue parameter is an object, it will be enclosed with square brackets "[" and "]".

Kateetan, tabulazioen eta lerro-jauzien ordez \t, \n edo \r erabiliko da.

If the final length exceeds the maxlength parameter, the latter part of the string is replaced by " ... (N)" where N is the total length of the original string before truncation.

Sintaxia:

svc.Represent(anyvalue: any, [maxlength: int]): str

Parametroak:

anyvalue: The input value to be represented. It can be any value, such as a string, an array, a Basic object, a UNO object, etc.

maxlength: The maximum length of the resulting string. The default value is 0, meaning there is no limit to the length of the resulting representation.

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.

This method is equivalent to the built-in StrReverse Basic function.

note

To use the StrReverse function, the statement Option VBASupport 1 must be present in the module.


Sintaxia:

svc.Reverse(inputstr: str): str

Parametroak:

inputstr: The string to be reversed.

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:

svc.SplitLines(inputstr: str, [keepbreaks: int]): str[0..*]

Parametroak:

inputstr: The string to be split.

keepbreaks: When True, line breaks are preserved in the output array (default = 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:

svc.SplitNotQuoted(inputstr: str, [delimiter: str], [occurrences: int], [quotechar: str]): str[0..*]

Parametroak:

inputstr: The string to be split.

delimiter: A string of one or more characters that will be used as delimiter. The default delimiter is the Ascii space " " character.

occurrences: The maximum number of substrings to return. The default value is 0, meaning that there is no limit to the number of returned strings.

quotechar: Either the single (') or double (") quote.

Adibidea:

Basic lengoaian

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

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

Beware of the differences between Basic and Python when representing strings. For example, in Basic two "" characters inside a string are interpreted as a single " character. In Python, strings enclosed with single quotes can contain " characters without having to double them.


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:

svc.StartsWith(inputstr: str, substring: str, [casesensitive: bool]): bool

Parametroak:

inputstr: The string to be tested.

substring: The substring to be searched at the start of inputstr.

casesensitive: The search can be case sensitive or not (Default = 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:

svc.TrimExt(inputstr: str): str

Parametroak:

inputstr: The string to trim.

Adibidea:


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

Unescape

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

Sintaxia:

svc.Unescape(inputstr: str): str

Parametroak:

inputstr: The string to be converted.

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:

svc.Unquote(inputstr: str, [quotechar: str]): str

Parametroak:

inputstr: The string to unquote.

quotechar: Either the single (') or double (") quote (default).

Adibidea:


    Dim s as String
    ' s = "Some text" (without enclosing quotes)
    s = SF_String.Unquote("""Some text""")
    ' The string below does not have enclosing quotes, so it remains unchanged
    ' s = "Some text" (unchanged)
    s = SF_String.Unquote("Some text")
    ' Katearen barruko komatxoak ez dira kenduko
    ' s = "The ""true"" meaning" (unchanged)
    s = SF_String.Unquote("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:

svc.Wrap(inputstr: str, [width: int], [tabsize: int]): str

Parametroak:

inputstr: The string to wrap.

width: The maximum number of characters in each line (Default = 70).

tabsize: Before wrapping the text, the existing TAB Chr(9) characters are replaced with spaces. The argument tabsize defines the TAB stops at TabSize + 1, 2 * TabSize + 1 , ... N * TabSize + 1 (Default = 8).

Adibidea:

Basic lengoaian

    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...")
  
Python lengoaian

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

Azpimarraren karaktere bat, "_", aurrizki gisa duten ScriptForge Basic errutina edo identifikatzaile guztiak barneko erabilerarako erreserbatuta daude. Ez dira Basic makroetan edo Python scriptetan erabili behar.