meta data for this page
  •  

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung
string-operationen [2018/05/24 11:09]
michael [Teilstring zwischen Begrenzern herauslösen]
string-operationen [2020/01/03 11:13] (aktuell)
michael
Zeile 3: Zeile 3:
  
 ===== Leere Zeichenkette prüfen ===== ===== Leere Zeichenkette prüfen =====
- Es gibt mehrere Möglichkeiten zu prüfen, ob eine Zeichenkette leer ist. Das Problem im Skripting ist jedoch, dass Variablen keinen festen Typ haben, sondern nur Variant-Datentypen sind. Einige Vorgehensweisen können aber auch hier übernommen werden.\\ + Es gibt mehrere Möglichkeiten zu prüfen, ob eine Zeichenkette leer ist. Das Problem im Skripting ist jedoch, dass Variablen keinen festen Typ haben, sondern nur Variant-Datentypen sind. Einige Vorgehensweisen können aber auch hier übernommen werden. 
 + 
 +<code VBScript [enable_line_numbers="​true"​]>​
   Dim sString   Dim sString
  
Zeile 14: Zeile 16:
   If Len(sString) = 0 Then MsgBox "​Leer"​   If Len(sString) = 0 Then MsgBox "​Leer"​
   If Len(sString) > 0 Then MsgBox "​Variable enthält Daten"   If Len(sString) > 0 Then MsgBox "​Variable enthält Daten"
-Die effizientes Variante ist dabei Möglichkeit 3. Hier wird kein Vergleich durchgeführt,​ sondern nur die Länge, die im internen Variablenkopf gespeichert ist, geprüft. Sie ist sehr schnell.\\ \\ +</​code>​ 
 + 
 +Die effizientes Variante ist dabei Möglichkeit 3. Hier wird kein Vergleich durchgeführt,​ sondern nur die Länge, die im internen Variablenkopf gespeichert ist, geprüft. Sie ist sehr schnell. 
 + 
 ===== Zeichenketten vergleichen ===== ===== Zeichenketten vergleichen =====
- Auch hier gibt es verschiedene Möglichkeiten. Hier soll nur die vielseitigste Variante dargestellt werden, die sowohl mit als auch ohne Groß-/​Kleinschreibung effektiv ist.\\ ​+ 
 +Auch hier gibt es verschiedene Möglichkeiten. Hier soll nur die vielseitigste Variante dargestellt werden, die sowohl mit als auch ohne Groß-/​Kleinschreibung effektiv ist.\\ ​ 
 + 
 +<code VBScript [enable_line_numbers="​true"​]>​
   Dim sText   Dim sText
  
Zeile 24: Zeile 32:
   '​Vergleich berücksichtigt Groß-/​Kleinschreibung   '​Vergleich berücksichtigt Groß-/​Kleinschreibung
   If StrComp(sText,​ "​Vergleich",​ vbBinaryCompare) = 0 Then MsgBox "​Gleich"​   If StrComp(sText,​ "​Vergleich",​ vbBinaryCompare) = 0 Then MsgBox "​Gleich"​
-   +</​code> ​   
 ===== Zeichenketten in Zahlen umwandeln ===== ===== Zeichenketten in Zahlen umwandeln =====
- Der einfachste und schnellste Weg ist das Casting, also das direkte Umwandeln einer Zeichenkette in eine Zahl mittels Operator.\\ ​+ 
 +Der einfachste und schnellste Weg ist das Casting, also das direkte Umwandeln einer Zeichenkette in eine Zahl mittels Operator.\\ ​ 
 + 
 +<code VBScript [enable_line_numbers="​true"​]>​
   Option Explicit   Option Explicit
  
Zeile 63: Zeile 75:
       End Select       End Select
   End Function   End Function
 +</​code>  ​
 +
 ===== Ländercode (Gebietsschema) berücksichtigen ===== ===== Ländercode (Gebietsschema) berücksichtigen =====
- Als Dezimaltrennzeichen wird je nach Gebietsschema entweder ein Komma (z. B. Deutschland) oder ein Punkt (z. B.englischer Sprachraum, Schweiz, Lichtenstein) verwendet. Das lokale Gebietsschema kann in VBScript mit der Funktion **GetLocale** ermittelt werden (s. [[http://​msdn.microsoft.com/​en-us/​library/​0h88fahh(v=vs.85).aspx|Tabelle der Ländercodes]]).\\ ​ Für fehlerfreie Berechnungen ist es daher ggf. erforderlich,​ bei Zahlenwerten,​ die in unter einem fremden Gebietsschema erzeugt wurde, dass Trennzeichen den Konventionen des lokalen Systems anzupassen.\\ ​ Ein Bsp. ist die Verarbeitung von Exif-Werten,​ denn diese werden grundsätzlich mit einem Punkt als Trennzeichen gespeichert.\\ \\ //​VBScript//​\\ ​+ 
 +Als Dezimaltrennzeichen wird je nach Gebietsschema entweder ein Komma (z. B. Deutschland) oder ein Punkt (z. B.englischer Sprachraum, Schweiz, Lichtenstein) verwendet. Das lokale Gebietsschema kann in VBScript mit der Funktion **GetLocale** ermittelt werden (s. [[http://​msdn.microsoft.com/​en-us/​library/​0h88fahh(v=vs.85).aspx|Tabelle der Ländercodes]]).\\ ​ Für fehlerfreie Berechnungen ist es daher ggf. erforderlich,​ bei Zahlenwerten,​ die in unter einem fremden Gebietsschema erzeugt wurde, dass Trennzeichen den Konventionen des lokalen Systems anzupassen.\\ ​ Ein Bsp. ist die Verarbeitung von Exif-Werten,​ denn diese werden grundsätzlich mit einem Punkt als Trennzeichen gespeichert.\\ \\ //​VBScript//​\\ ​ 
 + 
 +<code VBScript [enable_line_numbers="​true"​]>​
   Wert = FF_GetExifTag("​ExposureBiasValue"​) ​                  '​ Wert der Belichtungskorrektur auslesen, er ist stets mit Punkt getrennt   Wert = FF_GetExifTag("​ExposureBiasValue"​) ​                  '​ Wert der Belichtungskorrektur auslesen, er ist stets mit Punkt getrennt
   Gebietsschema = GetLocale ​                                  '​ Gebietsschema des Systems ermitteln   Gebietsschema = GetLocale ​                                  '​ Gebietsschema des Systems ermitteln
Zeile 71: Zeile 88:
   End If   End If
   Korrekturwert = Round(Wert, 2)                              ' jetzt wird die Round erfolgreich ausgeführt   Korrekturwert = Round(Wert, 2)                              ' jetzt wird die Round erfolgreich ausgeführt
 +</​code>  ​
 +
 ====== Teilstring löschen ====== ====== Teilstring löschen ======
 +
 +<code VBScript [enable_line_numbers="​true"​]>​
   Function DelPartString (Startstring,​ Delstring)   Function DelPartString (Startstring,​ Delstring)
       ' löscht aus der Zeichekette '​Startstring'​ die Zeichenkette '​Delstring'​       ' löscht aus der Zeichekette '​Startstring'​ die Zeichenkette '​Delstring'​
Zeile 80: Zeile 101:
       DelPartstring = Left (Startstring,​ i - 1) & Mid (Startstring,​ i + Len (Delstring))       DelPartstring = Left (Startstring,​ i - 1) & Mid (Startstring,​ i + Len (Delstring))
   End Function   End Function
-   +</​code> ​   
 **Alternative:​**\\ ​ **Alternative:​**\\ ​
-  ​VBScript:+ 
 +VBScript: 
 +<code VBScript [enable_line_numbers="​true"​]>​
   sResult = Replace(sValue,​ sDelString, "",​ 1, 1, vbTextCompare)   sResult = Replace(sValue,​ sDelString, "",​ 1, 1, vbTextCompare)
-\\  +</​code>​ 
-  JScript:+ 
 +JScript: 
 +<code JavaScript [enable_line_numbers="​true"​]>  ​
   sResult = sValue.replace(sDelString,""​);​   sResult = sValue.replace(sDelString,""​);​
 +</​code>  ​
        
-\\  
 ===== String um eine bestimmte Zeichenzahl kürzen ===== ===== String um eine bestimmte Zeichenzahl kürzen =====
 +
 +<code VBScript [enable_line_numbers="​true"​]>​
   Function Cut(p_Str,​p_Cnt)   Function Cut(p_Str,​p_Cnt)
   '​schneidet vom String "​p_Str"​ "​p_Cnt"​ Zeichen ab   '​schneidet vom String "​p_Str"​ "​p_Cnt"​ Zeichen ab
Zeile 96: Zeile 124:
  
   End Function   End Function
 +</​code>​
 +
 ===== Teilstring zwischen Begrenzern herauslösen ===== ===== Teilstring zwischen Begrenzern herauslösen =====
 +
 +<code VBScript [enable_line_numbers="​true"​]>​
   Function MidString (String, Suchstring1,​ Suchstring2)   Function MidString (String, Suchstring1,​ Suchstring2)
   ' gibt den Teilstring zwischen Suchstring1 und Suchstring2 zurück   ' gibt den Teilstring zwischen Suchstring1 und Suchstring2 zurück
Zeile 102: Zeile 134:
       MidString = Mid(String, Instr(String,​Suchstring1)+1,​ Instr(String,​Suchstring2)-Instr(String,​ Suchstring1)-1)       MidString = Mid(String, Instr(String,​Suchstring1)+1,​ Instr(String,​Suchstring2)-Instr(String,​ Suchstring1)-1)
   End Function   End Function
-\\ \\  s. auch [[Pfad zerlegen]]+</​code> ​  
 +siehe auch [[Pfad zerlegen]]