VBA
Häufig verwendete String-Manipulation
Suche…
Einführung
Schnelle Beispiele für MID LEFT- und RIGHT-Stringfunktionen mit INSTR FIND und LEN.
Wie finden Sie den Text zwischen zwei Suchbegriffen (sprich: nach einem Doppelpunkt und vor einem Komma)? Wie erhalten Sie den Rest eines Wortes (mit MID oder mit RIGHT)? Welche dieser Funktionen verwenden nullbasierte Params und Rückkehrcodes im Vergleich zu One-based? Was passiert, wenn etwas schief geht? Wie gehen sie mit leeren Strings, unbefundeten Ergebnissen und negativen Zahlen um?
String-Manipulation häufig verwendete Beispiele
Besseres MID () und andere Beispiele für die String-Extraktion, die derzeit nicht im Web verfügbar sind. Bitte helfen Sie mir, ein gutes Beispiel zu machen, oder ergänzen Sie dieses hier. Etwas wie das:
DIM strEmpty as String, strNull as String, theText as String
DIM idx as Integer
DIM letterCount as Integer
DIM result as String
strNull = NOTHING
strEmpty = ""
theText = "1234, 78910"
' -----------------
' Extract the word after the comma ", " and before "910" result: "78" ***
' -----------------
' Get index (place) of comma using INSTR
idx = ... ' some explanation here
if idx < ... ' check if no comma found in text
' or get index of comma using FIND
idx = ... ' some explanation here... Note: The difference is...
if idx < ... ' check if no comma found in text
result = MID(theText, ..., LEN(...
' Retrieve remaining word after the comma
result = MID(theText, idx+1, LEN(theText) - idx+1)
' Get word until the comma using LEFT
result = LEFT(theText, idx - 1)
' Get remaining text after the comma-and-space using RIGHT
result = ...
' What happens when things go wrong
result = MID(strNothing, 1, 2) ' this causes ...
result = MID(strEmpty, 1, 2) ' which causes...
result = MID(theText, 30, 2) ' and now...
result = MID(theText, 2, 999) ' no worries...
result = MID(theText, 0, 2)
result = MID(theText, 2, 0)
result = MID(theText -1, 2)
result = MID(theText 2, -1)
idx = INSTR(strNothing, "123")
idx = INSTR(theText, strNothing)
idx = INSTR(theText, strEmpty)
i = LEN(strEmpty)
i = LEN(strNothing) '...
Fühlen Sie sich frei, dieses Beispiel zu bearbeiten und es besser zu machen. Solange es klar bleibt und allgemeine Gebrauchspraktiken hat.