Zoeken…


Invoering

Snelle voorbeelden voor tekenreeksen MID LINKS en RECHTS met behulp van INSTR FIND en LEN.

Hoe vindt u de tekst tussen twee zoektermen (zeg: na een dubbele punt en vóór een komma)? Hoe krijg je de rest van een woord (met MID of met RECHTS)? Welke van deze functies gebruiken op nul gebaseerde params en retourcodes versus op één gebaseerde? Wat gebeurt er als er dingen misgaan? Hoe gaan ze om met lege tekenreeksen, onterechte resultaten en negatieve getallen?

Stringmanipulatie vaak gebruikte voorbeelden

Betere MID () en andere tekenreeksextractie-voorbeelden, die momenteel niet op internet aanwezig zijn. Help me alsjeblieft een goed voorbeeld te maken of vul dit hier aan. Iets zoals dit:

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

Aarzel niet om dit voorbeeld te bewerken en te verbeteren. Zolang het duidelijk blijft en algemene gebruikspraktijken bevat.



Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow