Szukaj…


Wprowadzenie

Szybkie przykłady funkcji struny MID LEFT i RIGHT przy użyciu INSTR FIND i LEN.

Jak znaleźć tekst między dwoma wyszukiwanymi hasłami (powiedz: po dwukropku i przed przecinkiem)? Jak uzyskać pozostałą część słowa (używając MID lub PRAWO)? Które z tych funkcji używają parametrów zerowych i kodów zwrotnych w porównaniu do One? Co się stanie, gdy coś pójdzie nie tak? Jak radzą sobie z pustymi ciągami, nieuzasadnionymi wynikami i liczbami ujemnymi?

Często używanymi przykładami są manipulacje ciągami

Lepsze MID () i inne przykłady ekstrakcji ciągów, których obecnie nie ma w sieci. Pomóż mi zrobić dobry przykład lub uzupełnij ten tutaj. Coś takiego:

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

Edytuj ten przykład i popraw go. Tak długo, jak pozostaje to jasne i ma w nim wspólne praktyki użytkowania.



Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow