Dienst ScriptForge.String

Der Dienst String stellt eine Sammlung von Methoden zur Verarbeitung von Zeichenfolgen bereit. Diese Methoden k├Ânnen verwendet werden, um:

Definitionen

Zeilenumbr├╝che

Der Dienst String erkennt die folgenden Zeilenumbr├╝che:

Symbolischer Name

ASCII-Nummer

Zeilenvorschub
Vertikaler Tabulator
Wagenr├╝cklauf
Zeilenvorschub + Wagenr├╝cklauf
Dateitrenner
Gruppentrenner
Datensatztrenner
N├Ąchste Zeile
Zeilentrenner
Absatztrenner

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


Leerzeichen

Der Dienst String erkennt die folgenden Leerzeichen:

Symbolischer Name

ASCII-Nummer

Leerzeichen
Horizontaler Tabulator
Zeilenvorschub
Vertikaler Tabulator
Seitenvorschub
Wagenr├╝cklauf
N├Ąchste Zeile
Gesch├╝tztes Leerzeichen
Zeilentrennzeichen
Absatztrennzeichen

32
9
10
11
12
13
133
160
8232
8233


Escape-Sequenzen

Nachfolgend finden Sie eine Liste von Escape-Sequenzen, die in Zeichenfolgen verwendet werden k├Ânnen.

Escape-Sequenz

Symbolischer Name

ASCII-Nummer

\n
\r
\t

Zeilenvorschub
Wagenr├╝cklauf
Horizontaler Tabulator

10
13
9


tip

Um die Escape-Sequenz "\n" als tats├Ąchliche Zeichenfolge interpretieren zu lassen, verwenden Sie einfach "\\n" anstelle von "\" & Chr(10).


Nicht druckbare Zeichen:

Zeichen, die in der Unicode-Zeichendatenbank als ÔÇ×AndereÔÇť oder ÔÇ×TrennzeichenÔÇť definiert sind, gelten als nicht druckbare Zeichen.

Steuerzeichen (ASCII-Code <= 0x1F) gelten ebenfalls als nicht druckbar.

Anf├╝hrungszeichen innerhalb von Zeichenfolgen:

Um Anf├╝hrungszeichen in Zeichenfolgen einzuf├╝gen, verwenden Sie \' (einfaches Anf├╝hrungszeichen) oder \" (doppeltes Anf├╝hrungszeichen). Beispielsweise:

Dienstaufruf

Vor der Verwendung des Dienstes ScriptForge.String muss die Bibliothek ScriptForge geladen werden mit:

In Basic

      GlobalScope.BasicLibraries.loadLibrary("ScriptForge")
  

Durch das Laden der Bibliothek wird das Objekt SF_String erstellt, das verwendet werden kann, um die Methoden im Dienst String aufzurufen.

Die folgenden Codeschnipsel zeigen die drei M├Âglichkeiten zum Aufrufen von Methoden aus dem Dienst String (die Methode Capitalize wird als Beispiel verwendet):


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

Der folgende Codeschnipsel veranschaulicht, wie Methoden aus dem Dienst String in Python-Skripten aufgerufen werden. Als Beispiel wird die Methode IsIPv4 verwendet.


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

Eigenschaften

Das Objekt SF_String stellt die folgenden Eigenschaften f├╝r Basic-Skripte bereit:

Name

Schreibgesch├╝tzt

Beschreibung

sfCR

Ja

Wagenr├╝cklauf: Chr(13)

sfCRLF

Ja

Wagenr├╝cklauf + Zeilenvorschub: Chr(13) & Chr(10)

sfLF

Ja

Zeilenvorschub: Chr(10)

sfNEWLINE

Ja

Wagenr├╝cklauf + Zeilenvorschub, das je nach Betriebssystem
1) Chr(13) & Chr(10) oder
2) Zeilenvorschub: Chr(10)
sein kann.

sfTAB

Ja

Horizontale Tabulator: Chr(9)


tip

Sie k├Ânnen die obigen Eigenschaften verwenden, um die entsprechenden Zeichen in Zeichenfolgen zu identifizieren oder einzuf├╝gen. Beispielsweise kann der Zeilenvorschub mittels SF_String.sfLF ersetzt werden.


Liste der Methoden im Dienst String

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

Das erste Argument der meisten Methoden ist die zu ber├╝cksichtigende Zeichenfolge. Sie wird immer als Referenz ├╝bergeben und unver├Ąndert gelassen. Methoden wie Capitalize, Escape und so weiter geben nach ihrer Ausf├╝hrung eine neue Zeichenfolge zur├╝ck.


warning

Da Python ├╝ber eine umfassende integrierte Zeichenfolgenunterst├╝tzung verf├╝gt, sind die meisten Methoden im Dienst String nur f├╝r Basic-Skripte verf├╝gbar. Die f├╝r Basic und Python verf├╝gbaren Methoden sind: HashStr, IsADate, IsEmail, IsFileName, IsIBAN, IsIPv4, IsLike, IsSheetName, IsUrl, SplitNotQuoted und Wrap.


Capitalize

Schreibt das erste Zeichen jedes Wortes in der Eingabezeichenfolge gro├č.

Syntax:

svc.Capitalize(inputstr: str): str

Parameter:

inputstr: Die Zeichenfolge, die gro├č geschrieben werden soll.

Beispiel:


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

Count

Z├Ąhlt die Anzahl der Vorkommen einer Teilzeichenfolge oder eines regul├Ąren Ausdrucks innerhalb einer Zeichenfolge.

Syntax:

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

Parameter:

inputstr: Die zu untersuchende Eingabezeichenfolge

substring: Die Teilzeichenfolge oder der regul├Ąre Ausdruck, die/der w├Ąhrend der Suche verwendet werden soll

isregex: Verwenden Sie True, wenn die Teilzeichenfolge ein regul├Ąrer Ausdruck ist (Standard = False)

casesensitive: Die Suche kann Gro├č- und Kleinschreibung beachten oder nicht (Standard = False).

Beispiel:


    ' Z├Ąhlt die Vorkommen der Teilzeichenfolge "or" innerhalb der Eingabezeichenfolge (gibt 2 zur├╝ck)
    MsgBox SF_String.Count("Lorem ipsum dolor sit amet, consectetur adipiscing elit.", "or", CaseSensitive := False)
    ' Z├Ąhlt die Anzahl der W├Ârter mit nur Kleinbuchstaben (gibt 7 zur├╝ck)
    MsgBox SF_String.Count("Lorem ipsum dolor sit amet, consectetur adipiscing elit.", "\b[a-z]+\b", IsRegex := True, CaseSensitive := True)
  
tip

Weitere Informationen zu regul├Ąren Ausdr├╝cken finden Sie in der Python-Dokumentation unter Regular Expression Operations .


EndsWith

Gibt True zur├╝ck, wenn eine Zeichenfolge mit einer angegebenen Teilzeichenfolge endet.

Die Funktion gibt False zur├╝ck, wenn entweder die Zeichenfolge oder die Teilzeichenfolge eine L├Ąnge = 0 haben oder wenn die Teilzeichenfolge l├Ąnger als die Zeichenfolge ist.

Syntax:

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

Parameter:

inputstr: Die zu testende Zeichenfolge.

substring: Die zu durchsuchende Teilzeichenfolge am Ende von inputstr.

casesensitive: Die Suche kann Gro├č- und Kleinschreibung beachten oder nicht (Standard = False).

Beispiel:


    ' Gibt "True" zur├╝ck, weil die Methode mit dem Standard "CaseSensitive = False" aufgerufen wurde
    MsgBox SF_String.EndsWith("abcdefg", "EFG")
    ' Gibt aufgrund des Parameters "CaseSensitive" "False" zur├╝ck
    MsgBox SF_String.EndsWith("abcdefg", "EFG", CaseSensitive := True)
  

Escape

Konvertiert Zeilenumbr├╝che und Tabulatoren, die in der Eingabezeichenfolge enthalten sind, in ihre entsprechende Escape-Sequenz (\\, \n, \r, \t).

Syntax:

svc.Escape(inputstr: str): str

Parameter:

inputstr: Die zu konvertierende Zeichenfolge.

Beispiel:


    ' Gibt die Zeichenfolge "abc\n\tdef\\n" zur├╝ck
    MsgBox SF_String.Escape("abc" & Chr(10) & Chr(9) & "def\n")
  

ExpandTabs

Ersetzt Tabulatoren Chr(9) durch Leerzeichen, um das Verhalten von Tabulatoren zu replizieren.

Wird ein Zeilenumbruch gefunden, wird eine neue Zeile begonnen und der Zeichenz├Ąhler zur├╝ckgesetzt.

Syntax:

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

Parameter:

inputstr: Die zu erweiternde Zeichenfolge

tabsize: Mit diesem Parameter werden die Tabulatoren bestimmt nach der Formel: TabSize + 1, 2 * TabSize + 1 , ÔÇŽ N * TabSize + 1 (Standard = 8)

Beispiel:


    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

Ersetzt alle nicht druckbaren Zeichen in der Eingabezeichenfolge durch ein vorgegebenes Zeichen.

Syntax:

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

Parameter:

inputstr: Die zu durchsuchende Zeichenfolge

replacedby: Null, ein oder mehrere Zeichen, die alle nicht druckbaren Zeichen in inputstr ersetzen (Standard = "")

Beispiel:


    Dim LF : LF = Chr(10)
    Dim myText as String
    myText = "├á├ęn ╬úlP┬Á" & LF & " đáĐâĐüĐüđ║đŞđ╣" & "\n"
    MsgBox SF_String.FilterNotPrintable(myText)
    ' "├á├ęn ╬úlP┬Á đáĐâĐüĐüđ║đŞđ╣\n"
  

FindRegex

Findet in einer Zeichenfolge eine Teilzeichenfolge, die mit einem vorgegebenen regul├Ąren Ausdruck ├╝bereinstimmt.

Syntax:

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

Parameter:

inputstr: Die zu durchsuchende Zeichenfolge

regex: Der regul├Ąre Ausdruck

start: Die Position in der Zeichenfolge, an der die Suche beginnt. Dieser Parameter wird als Referenz ├╝bergeben, sodass nach der Ausf├╝hrung der Wert von start auf das erste Zeichen der gefundenen Teilzeichenfolge zeigt. Wenn keine passende Teilzeichenfolge gefunden wird, wird start auf 0 gesetzt.

casesensitive: Die Suche kann Gro├č- und Kleinschreibung beachten oder nicht (Standard = False).

forward: Bestimmt die Suchrichtung. Wenn True, geht die Suche vorw├Ąrts. Wenn False, geht die Suche r├╝ckw├Ąrts (Standard = True)

Bei der ersten Wiederholung, wenn forward = True, sollte start gleich 1 sein, wohingegen, wenn forward = False ist, sollte start gleich Len(inputstr) sein.

Beispiel:


    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

Im obigen Beispiel kann der neue Wert von lStart verwendet werden, um weiterhin dieselbe Eingabezeichenfolge zu suchen, indem der Parameter Start bei der n├Ąchsten Wiederholung auf lStart + Len(result) gesetzt wird.


HashStr

Hash-Funktionen werden in einigen kryptografischen Algorithmen, in digitalen Signaturen, Nachrichtenauthentifizierungscodes, Manipulationserkennung, Fingerabdr├╝cken, Pr├╝fsummen (Nachrichtenintegrit├Ątspr├╝fung), Hash-Tabellen, Kennwortspeicherung und vielem mehr verwendet.

Die Methode HashStr gibt das Ergebnis einer Hash-Funktion, die auf eine gegebene Zeichenfolge angewendet wird und einen angegebenen Algorithmus verwendet, als eine Zeichenfolge aus hexadezimalen Ziffern in Kleinbuchstaben zur├╝ck.

Die unterst├╝tzten Hash-Algorithmen sind: MD5, SHA1, SHA224, SHA256, SHA384 und SHA512.

Syntax:

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

Parameter:

inputstr: Die zu hashende Zeichenfolge. Es wird angenommen, dass es in UTF-8 codiert ist. Der Hash-Algorithmus betrachtet die Zeichenfolge als eine Folge von Bytes.

algorithm: Einer der oben aufgef├╝hrten unterst├╝tzten Algorithmen, der als Zeichenfolge ├╝bergeben wird.

Beispiel:

In Basic

    MsgBox SF_String.HashStr("┼ôÔłĹ┬íÔäó┬ú┬óÔł×┬ž┬ÂÔÇó┬¬┬║ÔÇôÔëá┼ôÔłĹ┬┤┬«ÔÇá┬ą┬Ę╦ć├ޤÇÔÇś├ą├čÔłéĂĺ┬ę╦ÖÔłć╦Ü┬Č", "MD5")
    ' c740ccc2e201df4b2e2b4aa086f35d8a
  
In Python

    svc = CreateScriptService("String")
    bas = CreateScriptService("Basic")
    a_string = "┼ôÔłĹ┬íÔäó┬ú┬óÔł×┬ž┬ÂÔÇó┬¬┬║ÔÇôÔëá┼ôÔłĹ┬┤┬«ÔÇá┬ą┬Ę╦ć├ޤÇÔÇś├ą├čÔłéĂĺ┬ę╦ÖÔłć╦Ü┬Č"
    hash_value = svc.HashStr(a_string, "MD5")
    bas.MsgBox(hash_value)
    # c740ccc2e201df4b2e2b4aa086f35d8a
  

HtmlEncode

Kodiert die Eingabezeichenfolge in die HTML-Zeichencodes und ersetzt Sonderzeichen durch ihre Entsprechungen mit &.

Beispielsweise w├╝rde das Zeichen ├ę durch é oder einen entsprechenden numerischen HTML-Code ersetzt.

Syntax:

svc.HtmlEncode(inputstr: str): str

Parameter:

inputstr: Die zu codierende Zeichenfolge.

Beispiel:


    MsgBox SF_String.HtmlEncode("From ╬▒ to ¤ë")
    ' "<a href="https://a.b.com">From α to ω</a>"
  

IsADate

Gibt True zur├╝ck, wenn die Eingabezeichenfolge ein g├╝ltiges Datum gem├Ą├č einem angegebenen Datumsformat ist.

Syntax:

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

Parameter:

inputstr: Die zu pr├╝fende Zeichenfolge. Wenn leer, gibt die Methode False zur├╝ck

dateformat: Das Datumsformat als Zeichenfolge. Kann "YYYY-MM-DD" (Standard), "DD-MM-YYYY" oder "MM-DD-YYYY" sein

Der Bindestrich (-) kann durch einen Punkt (.), einen Schr├Ągstrich (/) oder ein Leerzeichen ersetzt werden.

Wenn das Format ung├╝ltig ist, gibt die Methode False zur├╝ck.

Beispiel:

In Basic

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

Diese Methode pr├╝ft das Format der Eingabezeichenfolge, ohne kalenderspezifische Pr├╝fungen durchzuf├╝hren. Daher wird die Eingabezeichenfolge nicht auf Schaltjahre oder Monate mit 30 oder 31 Tagen getestet. Siehe hierzu die integrierte Funktion IsDate.


Das folgende Beispiel zeigt den Unterschied zwischen den Methoden IsADate (ScriptForge) und der Funktion IsDate (eingebaut).


    Dim myDate as String : myDate = "2020-02-30"
    MsgBox SF_String.IsADate(myDate, "YYYY-MM-DD") 'True
    MsgBox IsDate(myDate) ' False
  
In Python

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

IsAlpha

Gibt True zur├╝ck, wenn alle Zeichen in der Zeichenfolge alphabetisch sind.

Alphabetische Zeichen sind die Zeichen, die in der Unicode-Zeichendatenbank als Buchstaben definiert sind.

Syntax:

svc.IsAlpha(inputstr: str): bool

Parameter:

inputstr: Die zu pr├╝fende Zeichenfolge. Wenn leer, gibt die Methode False zur├╝ck.

Beispiel:


    MsgBox SF_String.IsAlpha("├á├ęn╬úlP┬Á") ' True
    MsgBox SF_String.IsAlpha("myVar3") ' False
  

IsAlphaNum

Gibt True zur├╝ck, wenn alle Zeichen in der Zeichenfolge alphabetisch, Ziffern oder "_" (Unterstrich) sind. Das erste Zeichen darf keine Ziffer sein.

Syntax:

svc.IsAlphaNum(inputstr: str): bool

Parameter:

inputstr: Die zu pr├╝fende Zeichenfolge. Wenn leer, gibt die Methode False zur├╝ck.

Beispiel:


    MsgBox SF_String.IsAlphaNum("_ABC_123456_abc├á├ęn╬úlP┬Á") ' True
    MsgBox SF_String.IsAlphaNum("123ABC") ' False
  

IsAscii

Gibt True zur├╝ck, wenn alle Zeichen in der Zeichenfolge ASCII-Zeichen sind.

Syntax:

svc.IsAscii(inputstr: str): bool

Parameter:

inputstr: Die zu pr├╝fende Zeichenfolge. Wenn leer, gibt die Methode False zur├╝ck.

Beispiel:


    MsgBox SF_String.IsAscii("a%?,25") ' True
    MsgBox SF_String.IsAscii("abc├á├ęn╬úlP┬Á") ' False
  

IsDigit

Gibt True zur├╝ck, wenn alle Zeichen in der Zeichenfolge Ziffern sind.

Syntax:

svc.IsDigit(inputstr: str): bool

Parameter:

inputstr: Die zu pr├╝fende Zeichenfolge. Wenn leer, gibt die Methode False zur├╝ck.

Beispiel:


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

IsEmail

Gibt True zur├╝ck, wenn die Zeichenfolge eine g├╝ltige E-Mail-Adresse ist.

Syntax:

svc.IsEmail(inputstr: str): bool

Parameter:

inputstr: Die zu pr├╝fende Zeichenfolge. Wenn leer, gibt die Methode False zur├╝ck.

Beispiel:

In Basic

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

    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

Gibt True zur├╝ck, wenn die Zeichenfolge ein g├╝ltiger Dateiname in einem bestimmten Betriebssystem ist.

Syntax:

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

Parameter:

inputstr: Die zu pr├╝fende Zeichenfolge. Wenn leer, gibt die Methode False zur├╝ck.

osname: Der Name des Betriebssystems als Zeichenfolge. Kann "WINDOWS", "LINUX", "MACOSX" oder "SOLARIS" sein.

Der Standardwert ist das aktuelle Betriebssystem, auf dem das Skript ausgef├╝hrt wird.

Beispiel:

In Basic

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

    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

Gibt True zur├╝ck, wenn alle Zeichen in der Zeichenfolge Hexadezimalziffern sind.

Syntax:

svc.IsHexDigit(inputstr: str): bool

Parameter:

inputstr: Die zu pr├╝fende Zeichenfolge. Wenn leer, gibt die Methode False zur├╝ck.

Den Hexadezimalziffern kann ÔÇ×0xÔÇť oder ÔÇ×&HÔÇť vorangestellt werden.

Beispiel:


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

IsIBAN

Gibt True zur├╝ck, wenn die Zeichenfolge eine g├╝ltige internationale Bankkontonummer (IBAN) ist. Beim Vergleich wird die Gro├č-/Kleinschreibung nicht beachtet.

Syntax:

svc.IsIBAN(inputstr: str): bool

Parameter:

inputstr: Die zu pr├╝fende Zeichenfolge. Wenn leer, gibt die Methode False zur├╝ck.

R├╝ckgabewert:

True, wenn die Zeichenfolge eine g├╝ltige IBAN-Nummer enth├Ąlt.

Beispiel:


    ' 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

Gibt True zur├╝ck, wenn die Zeichenfolge eine g├╝ltige IP(v4)-Adresse ist.

Syntax:

svc.IsIPv4(inputstr: str): bool

Parameter:

inputstr: Die zu pr├╝fende Zeichenfolge. Wenn leer, gibt die Methode False zur├╝ck.

Beispiel:

In Basic

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

    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

Gibt True zur├╝ck, wenn die gesamte Eingabezeichenfolge mit einem bestimmten Muster ├╝bereinstimmt, das Platzhalter enth├Ąlt.

Syntax:

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

Parameter:

inputstr: Die zu pr├╝fende Zeichenfolge. Wenn leer, gibt die Methode False zur├╝ck.

pattern: Das Muster als Zeichenfolge. Platzhalter sind:

casesensitive: Die Suche kann Gro├č- und Kleinschreibung beachten oder nicht (Standard = False).

Beispiel:

In Basic

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

    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

Gibt True zur├╝ck, wenn alle Zeichen in der Zeichenfolge in Kleinbuchstaben geschrieben sind. Nicht alphabetische Zeichen werden ignoriert.

Syntax:

svc.IsLower(inputstr: str): bool

Parameter:

InputStr: Die zu pr├╝fende Zeichenfolge. Wenn leer, gibt die Methode False zur├╝ck.

Beispiel:


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

IsPrintable

Gibt True zur├╝ck, wenn alle Zeichen in der Zeichenfolge druckbar sind.

Syntax:

svc.IsPrintable(inputstr: str): bool

Parameter:

inputstr: Die zu pr├╝fende Zeichenfolge. Wenn leer, gibt die Methode False zur├╝ck.

Beispiel:


    MsgBox SF_String.IsPrintable("├á├ęn ╬úlP┬Á đáĐâĐüĐüđ║đŞđ╣") ' True
    MsgBox SF_String.IsPrintable("First line." & Chr(10) & "Second Line.") ' False
  

IsRegex

Gibt True zur├╝ck, wenn die gesamte Eingabezeichenfolge mit einem gegebenen regul├Ąren Ausdruck ├╝bereinstimmt.

Syntax:

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

Parameter:

inputstr: Die zu pr├╝fende Zeichenfolge. Wenn leer, gibt die Methode False zur├╝ck.

regex: Der regul├Ąre Ausdruck. Wenn leer, gibt die Methode False zur├╝ck.

casesensitive: Die Suche kann Gro├č- und Kleinschreibung beachten oder nicht (Standard = False).

Beispiel:


        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

Gibt True zur├╝ck, wenn die Eingabezeichenfolge ein g├╝ltiger Calc-Tabellenname ist.

Syntax:

svc.IsSheetName(inputstr: str): bool

Parameter:

inputstr: Die zu pr├╝fende Zeichenfolge. Wenn leer, gibt die Methode False zur├╝ck.

Beispiel:

In Basic

    MsgBox SF_String.IsSheetName("1├ábc + ""d├ęf""") ' True
    MsgBox SF_String.IsSheetName("[MySheet]") ' False
  
In Python

    svc = CreateScriptService("String")
    bas = CreateScriptService("Basic")
    bas.MsgBox(svc.IsSheetName("1├ábc + ""d├ęf""")) # True
    bas.MsgBox(svc.IsSheetName("[MySheet]")) # False
  
note

Ein Tabellenname darf nicht die Zeichen [ ] * ? : / \ oder das Zeichen ' (Apostroph) als erstes oder letztes Zeichen enthalten.


IsTitle

Gibt True zur├╝ck, wenn das erste Zeichen jedes Wortes in Gro├čbuchstaben und die anderen Zeichen in Kleinbuchstaben geschrieben sind.

Syntax:

svc.IsTitle(inputstr: str): bool

Parameter:

inputstr: Die zu pr├╝fende Zeichenfolge. Wenn leer, gibt die Methode False zur├╝ck.

Beispiel:


    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

Gibt True zur├╝ck, wenn alle Zeichen in der Zeichenfolge in Gro├čbuchstaben geschrieben sind. Nicht alphabetische Zeichen werden ignoriert.

Syntax:

svc.IsUpper(inputstr: str): bool

Parameter:

inputstr: Die zu pr├╝fende Zeichenfolge. Wenn leer, gibt die Methode False zur├╝ck.

Beispiel:


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

IsUrl

Gibt True zur├╝ck, wenn die Zeichenfolge eine g├╝ltige absolute URL-Adresse (Uniform Resource Locator) ist. Es werden nur die Protokolle http, https und ftp unterst├╝tzt.

Syntax:

svc.IsUrl(inputstr: str): bool

Parameter:

inputstr: Die zu pr├╝fende Zeichenfolge. Wenn leer, gibt die Methode False zur├╝ck.

Beispiel:

In Basic

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

    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

Gibt True zur├╝ck, wenn alle Zeichen in der Zeichenfolge Leerzeichen sind

Syntax:

svc.IsWhitespace(inputstr: str): bool

Parameter:

inputstr: Die zu pr├╝fende Zeichenfolge. Wenn leer, gibt die Methode False zur├╝ck.

Beispiel:


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

JustifyCenter

Gibt die Eingabezeichenfolge zentriert zur├╝ck.

Die f├╝hrenden und abschlie├čenden Leerzeichen werden entfernt und die restlichen Zeichen werden links und rechts bis zu einer angegebenen Gesamtl├Ąnge lenght mit dem Zeichen padding aufgef├╝llt.

Syntax:

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

Parameter:

inputstr: Die Zeichenfolge, die zentriert werden soll. Wenn leer, gibt die Methode eine leere Zeichenfolge zur├╝ck.

length: Die L├Ąnge der resultierenden Zeichenfolge (Standard = die L├Ąnge der Eingabezeichenfolge).

Wenn die angegebene L├Ąnge k├╝rzer als die zentrierte Eingabezeichenfolge ist, wird die zur├╝ckgegebene Zeichenfolge abgeschnitten.

padding: Das einzelne Zeichen, das f├╝r "padding" verwendet werden soll (Standard = das Ascii-Leerzeichen " ").

Beispiel:


    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

Gibt die Eingabezeichenfolge linksb├╝ndig zur├╝ck.

Die f├╝hrenden Leerzeichen werden entfernt und die restlichen Zeichen bis zu einer vorgegebenen Gesamtl├Ąnge length mit dem Zeichen padding nach rechts aufgef├╝llt.

Syntax:

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

Parameter:

inputstr: Die linksb├╝ndig auszurichtende Zeichenfolge. Wenn leer, gibt die Methode eine leere Zeichenfolge zur├╝ck.

length: Die L├Ąnge der resultierenden Zeichenfolge (Standard = die L├Ąnge der Eingabezeichenfolge).

Wenn die angegebene L├Ąnge k├╝rzer als die linksb├╝ndige Eingabezeichenfolge ist, wird die zur├╝ckgegebene Zeichenfolge abgeschnitten.

padding: Das einzelne Zeichen, das f├╝r "padding" verwendet werden soll (Standard = das Ascii-Leerzeichen " ").

Beispiel:


    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

Gibt den Eingabestring rechtsb├╝ndig zur├╝ck.

Dabei werden die f├╝hrenden Leerzeichen entfernt und die restlichen Zeichen nach links bis zu einer vorgegebenen Gesamtl├Ąnge length mit dem Zeichen padding aufgef├╝llt.

Syntax:

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

Parameter:

inputstr: Die rechtsb├╝ndig auszurichtende Zeichenfolge. Wenn leer, gibt die Methode eine leere Zeichenfolge zur├╝ck.

length: Die L├Ąnge der resultierenden Zeichenfolge (Standard = die L├Ąnge der Eingabezeichenfolge).

Wenn die angegebene L├Ąnge k├╝rzer als die rechtsb├╝ndige Eingabezeichenfolge ist, wird die zur├╝ckgegebene Zeichenfolge abgeschnitten.

padding: Das einzelne Zeichen, das f├╝r "padding" verwendet werden soll (Standard = das Ascii-Leerzeichen " ").

Beispiel:


    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

Gibt die in einfache oder doppelte Anf├╝hrungszeichen eingeschlossene Eingabezeichenfolge zur├╝ck. Vorhandene Anf├╝hrungszeichen werden unver├Ąndert gelassen, einschlie├člich vorangestellter und/oder nachgestellter Anf├╝hrungszeichen.

Syntax:

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

Parameter:

inputstr: Die zu zitierende Zeichenfolge.

quotechar: Entweder das einfache (') oder das doppelte (") Anf├╝hrungszeichen (Standard).

Beispiel:


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

Diese Methode kann n├╝tzlich sein, wenn ein Zeichenfolgenfeld vorbereitet wird, das in einer CSV-├Ąhnlichen Datei gespeichert werden soll, was erfordert, dass Textwerte in einfache oder doppelte Anf├╝hrungszeichen gesetzt werden.


ReplaceChar

Ersetzt alle Vorkommen der im Parameter Before angegebenen Zeichen durch die entsprechenden Zeichen, die in After angegeben sind.

Wenn die L├Ąnge von Before gr├Â├čer als die L├Ąnge von After ist, werden die Restzeichen in Before durch das letzte Zeichen in After ersetzt.

Syntax:

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

Parameter:

inputstr: Die Eingabezeichenfolge, bei der Ersetzungen erfolgen.

before: Eine Zeichenfolge mit den Zeichen, nach denen in der Eingabezeichenfolge zur Ersetzung gesucht werden.

after: Eine Zeichenfolge mit den neuen Zeichen, welche die in before definierten ersetzen.

Beispiel:


    ' Ersetzt akzentuierte Zeichen
    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"
  

Der Dienst SF_String stellt n├╝tzliche ├Âffentliche Konstanten f├╝r die lateinischen Zeichens├Ątze bereit, wie im folgenden Beispiel gezeigt:


    MsgBox SF_String.ReplaceChar("Prot├ęgez votre vie priv├ęe", SF_String.CHARSWITHACCENT, SF_String.CHARSWITHOUTACCENT)
    ' "Protegez votre vie privee"
  

ReplaceRegex

Ersetzt alle Vorkommen eines bestimmten regul├Ąren Ausdrucks durch eine neue Zeichenfolge.

Syntax:

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

Parameter:

inputstr: Die Eingabezeichenfolge, bei der Ersetzungen erfolgen.

regex: Der regul├Ąre Ausdruck.

newstr: Die ersetzende Zeichenfolge.

casesensitive: Die Suche kann Gro├č- und Kleinschreibung beachten oder nicht (Standard = False).

Beispiel:


    MsgBox SF_String.ReplaceRegex("Lorem ipsum dolor sit amet, consectetur adipiscing elit.", "[a-z]", "x", CaseSensitive := True)
    ' "Lxxxx xxxxx xxxxx xxx xxxx, xxxxxxxxxx xxxxxxxxxx xxxx." (jeder Kleinbuchstabe wird durch ein "x" ersetzt)
    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." (jedes Wort wird durch ein "x" ersetzt)
  

ReplaceStr

Ersetzt in einer Zeichenfolge einige oder alle Vorkommen einer Matriv von Zeichenfolgen durch eine Matrix neuer Zeichenfolgen.

Syntax:

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

Parameter:

inputstr: Die Eingabezeichenfolge, bei der Ersetzungen erfolgen.

oldstr: Eine einzelne Zeichenfolge oder eine Matrix mit Zeichenfolgen. Zeichenfolgen der L├Ąnge Null werden ignoriert.

newstr: Die ersetzende Zeichenfolge oder die Matrix mit ersetzenden Zeichenfolgen.

Wenn oldstr eine Matrix ist, wird jedes Vorkommen eines der Elemente in oldstr durch newstr ersetzt.

Wenn oldstr und newstr Matrizen sind, erfolgt die Ersetzung nacheinander bis zu UBound(newstr).

Wenn oldstr mehr Eintr├Ąge hat als newstr, dann werden die restlichen Elemente in oldstr durch das letzte Element in newstr ersetzt.

occurrences: Die maximale Anzahl von Ersetzungen. Der Standardwert ist 0, was bedeutet, dass alle Vorkommen ersetzt werden.

Wenn oldstr eine Matrix ist, wird der Parameter occurrence f├╝r jedes Element in der Matrix separat berechnet.

casesensitive: Die Suche kann Gro├č- und Kleinschreibung beachten oder nicht (Standard = False).

Beispiel:


    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

Gibt eine Zeichenfolge, die bei einer bestimmten L├Ąnge abgeschnitten wird, mit einer lesbaren Darstellung des Arguments zur├╝ck. Dies ist haupts├Ąchlich f├╝r Debugging- oder Protokollierungszwecke n├╝tzlich.

Wenn der Parameter anyvalue ein Objekt ist, wird es in eckige Klammern "[" und "]" eingeschlossen.

In Zeichenfolgen werden Tabulatoren und Zeilenumbr├╝che durch \t, \n oder \r ersetzt.

Wenn die endg├╝ltige L├Ąnge den Parameter maxlength ├╝berschreitet, wird der letzte Teil der Zeichenfolge durch " ÔÇŽ (N)" ersetzt, wobei N die Gesamtl├Ąnge der urspr├╝nglichen Zeichenfolge vor dem Abschneiden ist.

Syntax:

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

Parameter:

anyvalue: Der darzustellende Eingabewert. Dies kann ein beliebiger Wert sein, beispielsweise eine Zeichenfolge, eine Matrix, ein Basic-Objekt, ein UNO-Objekt ÔÇŽ

maxlength: Die maximale L├Ąnge der resultierenden Zeichenfolge. Der Standardwert ist 0, was bedeutet, dass die L├Ąnge der resultierenden Darstellung unbegrenzt ist.

Beispiel:


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

Beachten Sie, dass die Darstellung von Datentypen wie Matrizen und Objektinstanzen ScriptForge.Dictionary sowohl den Datentyp als auch ihre Werte enthalten:


    ' Ein Beispiel mit einer eingebauten Matrix in Basic
    MsgBox SF_String.Represent(Array(1, 2, "Text" & Chr(9) & "here"))
    ' "[ARRAY] (0:2) (1, 2, Text\there)"
    ' Ein Beispiel mit einer Matrix in ScriptForge
    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)"
    ' Ein Beispiel mit einem W├Ârterbuch in ScriptForge
    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

Gibt die Eingabezeichenfolge in umgekehrter Reihenfolge zur├╝ck.

Diese Methode entspricht der integrierten Basic-Funktion StrReverse.

note

Um die Funktion StrReverse zu verwenden, muss die Anweisung Option VBASupport 1 im Modul vorhanden sein.


Syntax:

svc.Reverse(inputstr: str): str

Parameter:

inputstr: Die umzukehrende Zeichenfolge.

Beispiel:


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

SplitLines

Gibt eine nullbasierte Matrix von Zeichenfolgen mit den Zeilen in der Eingabezeichenfolge zur├╝ck. Jedes Element in der Matrix wird erhalten, indem die Eingabezeichenfolge an Zeilenumbruchzeichen geteilt wird.

Syntax:

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

Parameter:

inputstr: Die zu teilende Zeichenfolge.

keepbreaks: Wenn True, werden Zeilenumbr├╝che in der Ausgabematrix beibehalten (Standard = False).

Beispiel:


    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

Teilt eine Zeichenfolge mithilfe eines angegebenen Trennzeichens in eine Matrix von Elementen.

Wenn eine Teilzeichenfolge in Anf├╝hrungszeichen ein Trennzeichen enth├Ąlt, wird es ignoriert. Dies ist n├╝tzlich, wenn CSV-├Ąhnliche Datens├Ątze analysiert werden, die Zeichenfolgen in Anf├╝hrungszeichen enthalten.

Syntax:

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

Parameter:

inputstr: Die zu teilende Zeichenfolge.

delimiter: Eine Zeichenfolge aus einem oder mehreren Zeichen, die als Trennzeichen verwendet werden. Das Standardtrennzeichen ist das ASCII-Leerzeichen " ".

occurrences: Die maximale Anzahl der zur├╝ckzugebenden Teilzeichenfolgen. Der Standardwert ist 0, was bedeutet, dass die Anzahl der zur├╝ckzugebenden Zeichenfolgen unbegrenzt ist.

quotechar: Entweder das einfache (') oder das doppelte (") Anf├╝hrungszeichen.

Beispiel:

In Basic

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

    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

Achten Sie bei der Darstellung von Zeichenfolgen auf die Unterschiede zwischen Basic und Python. Beispielsweise werden in Basic zwei doppelte Anf├╝hrungszeichen ("") innerhalb einer Zeichenfolge als einzelnes doppeltes Anf├╝hrungszeichen (") interpretiert. In Python k├Ânnen in einfache Anf├╝hrungszeichen eingeschlossene Zeichenfolgen doppelte Anf├╝hrungszeichen (") enthalten, ohne sie verdoppeln zu m├╝ssen.


StartsWith

Gibt True zur├╝ck, wenn die ersten Zeichen einer Zeichenfolge mit einer gegebenen Teilzeichenfolge identisch sind.

Diese Methode gibt False zur├╝ck, wenn entweder die Eingabezeichenfolge oder die Teilzeichenfolge eine L├Ąnge = 0 haben oder wenn die Teilzeichenfolge l├Ąnger als die Eingabezeichenfolge ist.

Syntax:

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

Parameter:

inputstr: Die zu testende Zeichenfolge.

substring: Die zu durchsuchende Teilzeichenfolge am Anfang von inputstr.

casesensitive: Die Suche kann Gro├č- und Kleinschreibung beachten oder nicht (Standard = False).

Beispiel:


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

TrimExt

Gibt die Eingabezeichenfolge ohne die f├╝hrenden und abschlie├čenden Leerzeichen zur├╝ck.

Syntax:

svc.TrimExt(inputstr: str): str

Parameter:

inputstr: Die zu trimmende Zeichenfolge.

Beispiel:


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

Unescape

Konvertiert jede maskierte Sequenz (\\, \n, \r, \t) in der Eingabezeichenfolge in das entsprechende ASCII-Zeichen.

Syntax:

svc.Unescape(inputstr: str): str

Parameter:

inputstr: Die zu konvertierende Zeichenfolge.

Beispiel:


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

Unquote

Entfernt die einfachen oder doppelten Anf├╝hrungszeichen, welche die Eingabezeichenfolge einschlie├čen.

Dies ist n├╝tzlich, wenn CSV-├Ąhnliche Datens├Ątze analysiert werden, die Zeichenfolgen in Anf├╝hrungszeichen enthalten.

Syntax:

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

Parameter:

inputstr: Die Zeichenfolge, deren Anf├╝hrungszeichen entfernt werden sollen.

quotechar: Entweder das einfache (') oder das doppelte (") Anf├╝hrungszeichen (Standard).

Beispiel:


    Dim s as String
    ' s = "Some text" (ohne einschlie├čende Anf├╝hrungszeichen)
    s = SF_String.Unquote("""Some text""")
    ' Die folgende Zeichenfolge enth├Ąlt keine einschlie├čenden Anf├╝hrungszeichen, sodass sie unver├Ąndert bleibt
    ' s = "Some text" (unver├Ąndert)
    s = SF_String.Unquote("Some text")
    ' Anf├╝hrungszeichen innerhalb der Zeichenfolge werden nicht entfernt
    ' s = "The ""true"" meaning" (unver├Ąndert)
    s = SF_String.Unquote("The ""true"" meaning")
  

Wrap

Konvertiert die Eingabezeichenfolge in eine Matrix von Teilzeichenfolgen, sodass jedes Element in der Matrix h├Âchstens eine bestimmte Anzahl von Zeichen enth├Ąlt.

In der Praxis gibt diese Methode eine nullbasierte Matrix von Ausgabezeilen ohne Zeilenumbr├╝che am Ende zur├╝ck, mit Ausnahme der bereits vorhandenen Zeilenumbr├╝che.

Tabulatoren werden mit demselben Verfahren erweitert, das auch von der Methode ExpandTabs durchgef├╝hrt wird.

Symbolische Zeilenumbr├╝che werden durch die entsprechenden ASCII-Zeichen ersetzt.

Wenn die verpackte Ausgabe keinen Inhalt hat, ist die zur├╝ckgegebene Matrix leer.

Syntax:

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

Parameter:

inputstr: Die umzubrechende Zeichenfolge.

width: Die maximale Anzahl von Zeichen in jeder Zeile (Standard = 70).

tabsize: Vor dem Umbruch des Textes werden die vorhandenen Tabulator-Zeichen Chr(9) durch Leerzeichen ersetzt. Das Argument tabsize definiert die Tabulatoren bei TabSize + 1, 2 * TabSize + 1 , ÔÇŽ N * TabSize + 1 (Default = 8).

Beispiel:

In Basic

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

    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

Alle ScriptForge Basic-Routinen oder Bezeichner, denen ein Unterstrich "_" vorangestellt ist, sind f├╝r den internen Gebrauch reserviert. Sie sind nicht f├╝r die Verwendung in Basic-Makros oder Python-Skripten vorgesehen.


Bitte unterst├╝tzen Sie uns!