VBA
Manipolazione delle stringhe usata frequentemente
Ricerca…
introduzione
Esempi rapidi per le funzioni di stringa MID LEFT e RIGHT utilizzando INSTR FIND e LEN.
Come trovi il testo tra due termini di ricerca (Say: dopo i due punti e prima di una virgola)? Come si ottiene il resto di una parola (utilizzando MID o utilizzando DESTRA)? Quale di queste funzioni utilizza parametri basati su Zero e codici di ritorno rispetto a One-based? Cosa succede quando le cose vanno male? Come gestiscono stringhe vuote, risultati non fondati e numeri negativi?
Manipolazione delle stringhe esempi usati frequentemente
Meglio MID () e altri esempi di estrazione di stringhe, attualmente mancanti dal web. Per favore aiutami a fare un buon esempio, o completa questo qui. Qualcosa come questo:
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) '...
Sentiti libero di modificare questo esempio e renderlo migliore. Finché rimane chiaro, e ha in comune pratiche di utilizzo.