Chcę znaleźć, jeśli ciąg zawiera "," (przecinek) w nim. Czy mamy jakąś inną opcję oprócz czytania char-by-char?Sprawdź, czy ciąg zawiera inny ciąg
Odpowiedz
Użyj Instr funkcję
Dim pos As Integer
pos = InStr("find the comma, in the string", ",")
powróci 15 w poz
Jeśli nie okazało się, że powróci 0
Jeśli trzeba znaleźć przecinek z formuły programu Excel można użyć Funkcja =FIND(",";A1)
.
Uwaga, jeśli chcesz używać Instr
znaleźć pozycję ciąg wielkości liter użytku trzeci parametr Instr i nadać mu const vbTextCompare
(lub tylko 1 do ciśnieniowego Hards).
Dim posOf_A As Integer
posOf_A = InStr(1, "find the comma, in the string", "A", vbTextCompare)
daje wartość 14.
Zauważ, że musisz określić pozycję startową w tym przypadku, jak określono w specyfikacji I połączone: Początek argumentem jest wymagane, jeśli porównanie jest określona.
Istnieje również funkcja InStrRev, która robi to samo, ale rozpoczyna wyszukiwanie od końca tekstu do początku.
za odpowiedź @ Rene ...
Dim pos As Integer
pos = InStrRev("find the comma, in the string", ",")
... będzie jeszcze powrócić do poz 15, ale jeśli ciąg ma więcej niż jeden ciąg wyszukiwania, jak słowo „ten”, a następnie:
Dim pos As Integer
pos = InStrRev("find the comma, in the string", "the")
... wróci do poz 20, zamiast 6.
Opierając się na odpowiedź Rene, można również napisać funkcję, która zwrocone TRUE jeśli podciąg był obecny, lub FAŁSZ, jeśli to nie było t:
Public Function Contains(strBaseString As String, strSearchTerm As String) As Boolean
'Purpose: Returns TRUE if one string exists within another
On Error GoTo ErrorMessage
Contains = InStr(strBaseString, strSearchTerm)
Exit Function
ErrorMessage:
MsgBox "The database has generated an error. Please contact the database administrator, quoting the following error message: '" & Err.Description & "'", vbCritical, "Database Error"
End
End Function
Jakiego rodzaju błędu bazy danych oczekujemy w tej funkcji? Błąd pułapkowania i komunikat o błędzie wydają się zupełnie bezużyteczne. –
@RoobieNuby To jest po prostu moja domyślna obsługa błędów. Wrzucam to do wszystkich moich funkcji, ponieważ jeśli coś pójdzie nie tak, chcę, żeby personel zadzwonił do mnie, a nie sam to naprawił. – BFWebAdmin
Można również użyć specjalnego słowo like
:
Public Sub Search()
If "My Big String with, in the middle" Like "*,*" Then
Debug.Print ("Found ','")
End If
End Sub
Link do formatu wzoru https://msdn.microsoft.com/en-us/library/swf8kaxw.aspx?f=255&MSPPError=-2147217396 –
- 1. Sprawdź, czy ciąg zawiera podłańcuch
- 2. Sprawdź, czy ciąg zawiera datę, czy nie.
- 3. Prosty sposób sprawdzenia, czy ciąg zawiera inny ciąg w C?
- 4. Sprawdź, czy ciąg zawiera znaki spoza cyfr
- 5. Sprawdź, czy ciąg zawiera słowo w tablicy
- 6. Sprawdź, czy ciąg zawiera wiodące litery
- 7. Sprawdź, czy ciąg zawiera tylko zestaw liter
- 8. Sprawdź, czy ciąg ruby zawiera białe spacje.
- 9. Sprawdź, czy ciąg zawiera numery Java
- 10. Sprawdź, czy ciąg zawiera tylko znaki ASCII?
- 11. Sprawdź, czy ciąg zawiera adres e-mail?
- 12. Sprawdź, czy ciąg zawiera określony ciąg przy użyciu tablicy
- 13. Czy istnieje zadanie MSBuild, aby sprawdzić, czy ciąg zawiera inny ciąg (podobny do string.contains)
- 14. Linux/bin/sh sprawdź, czy ciąg zawiera X
- 15. Sprawdź, czy ciąg zawiera listę podciągów i zapisać Dopasowany ones
- 16. Sprawdź, czy ciąg zawiera wszystkie wejścia na liście
- 17. C# Sprawdź, czy ciąg zawiera jakiekolwiek dopasowania w tablicy łańcuchowej
- 18. Sprawdź, czy ciąg zawiera jakiekolwiek podciągi z tablicy
- 19. Sprawdź, czy ciąg zawiera wszystkie znaki innego ciągu w Ruby
- 20. Sprawdź, czy ciąg zawiera jeden z wielu podłańcuchów.
- 21. Ruby Sprawdź warunek, czy ciąg zawiera wiele różnych ciągów znaków?
- 22. Sprawdź, czy ciąg zawiera słowo, ale tylko w określonej pozycji?
- 23. Sprawdź, czy ciąg zawiera nic oprócz adresu URL w PHP
- 24. Sprawdzanie, czy ciąg zawiera „http: //”
- 25. Wykryj, czy ciąg zawiera tabelę
- 26. ciąg znaków JQuery zawiera sprawdzanie
- 27. Ustal, czy ciąg zawiera ciąg znaków base64 wewnątrz niego
- 28. Sprawdź, czy ciąg znaków jest adresem URL
- 29. Sprawdź, czy ciąg znaków interpunkcyjnych jest
- 30. Espresso - TextView zawiera ciąg
Does 'pracę INSTR' dla ciebie? –