Я хочу найти, если строка содержит в себе «,» (запятую). Есть ли у нас другой вариант, кроме чтения char-by-char?Проверьте, содержит ли строка другую строку
ответ
Используйте Instr функцию
Dim pos As Integer
pos = InStr("find the comma, in the string", ",")
вернется 15 в пос
Если не найдено, он будет возвращать 0
Если вам нужно найти запятую с формулой первенствовать вы можете использовать =FIND(",";A1)
функция.
Обратите внимание, что если вы хотите использовать Instr
, чтобы найти позицию строчной без учета регистра, используйте третий параметр Instr и дайте ему const vbTextCompare
(или только 1 для штампов).
Dim posOf_A As Integer
posOf_A = InStr(1, "find the comma, in the string", "A", vbTextCompare)
даст вам значение 14.
Обратите внимание, что вы должны указать начальную позицию в этом случае, как указано в спецификации я связан: требуется Стартовый аргумент, если сравнивать указан.
Существует также функция InStrRev, которая делает то же самое, но начинает поиск с конца текста до начала.
За ответ @ Рене ...
Dim pos As Integer
pos = InStrRev("find the comma, in the string", ",")
... все равно вернусь 15 к позам, но если строка имеет более одной строки поиска, как и слово «в» и затем:
Dim pos As Integer
pos = InStrRev("find the comma, in the string", "the")
... вернется 20 в позы, вместо 6.
Опираясь на ответ Рене, вы могли бы также написать функцию, которая возвращала либо TRUE, если подстрока присутствует, или FALSE, если он WASN '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
Какая ошибка базы данных мы ожидаем в этой функции? Улавливание ошибок и сообщение об ошибке кажутся совершенно бессмысленными. –
@RoobieNuby Это просто моя обработка ошибок по умолчанию. Я включил все свои функции, потому что, если что-то пойдет не так, я хочу, чтобы сотрудники позвонили мне, а не пытались исправить это сами. – BFWebAdmin
Вы можете также использовать специальное слово like
:
Public Sub Search()
If "My Big String with, in the middle" Like "*,*" Then
Debug.Print ("Found ','")
End If
End Sub
Ссылка на формат шаблона https://msdn.microsoft.com/en-us/library/swf8kaxw.aspx?f=255&MSPPError=-2147217396 –
- 1. Проверьте, содержит ли одна строка другую меньшую строку
- 2. Проверьте, содержит ли строка типа char * другую строку
- 3. Actionscript 3: проверьте, содержит ли строка другую строку
- 4. Applescript: проверьте, содержит ли строка пустую строку?
- 5. Проверьте, содержит ли первая строка файла строку
- 6. Проверьте, содержит ли строка строку в C++
- 7. Проверьте, содержит ли строка строку из массива
- 8. React-Native: проверьте, содержит ли строка строку
- 9. bash - проверьте, содержит ли строка новую строку
- 10. Elixir - Проверьте, содержит ли строка строку подстроки
- 11. Посмотрите, содержит ли одна строка другую строку
- 12. Определите, содержит ли строка другую строку
- 13. Проверьте, содержит ли строка/*
- 14. проверьте, содержит ли строка число
- 15. Проверьте, содержит ли строка другие строковые элементы
- 16. VBA сравните строку (проверьте, содержит ли строка 1 строку)
- 17. Проверьте, содержит ли строка встроенную строку в порядке
- 18. Проверьте, содержит ли строка слово
- 19. Проверьте, содержит ли строка пробел
- 20. Проверьте, содержит ли строка Asterisk (*)
- 21. Проверьте, содержит ли строка вычисления
- 22. Проверьте, содержит ли строка цифры
- 23. Проверьте, содержит ли строка слово
- 24. Проверьте, содержит ли строка переменную окружения
- 25. Проверьте, содержит ли сайт строку
- 26. Проверьте, содержит ли подстрока строку
- 27. Проверьте, содержит ли строка определенное слово
- 28. Проверьте, содержит ли строка число чисел
- 29. Проверьте, содержит ли строка только символ «&»
- 30. Проверьте, содержит ли строка какой-либо символ
делает 'INSTR' работу для вас? –