Посчитайте, сколько конкретных символов в строке - PullRequest
20 голосов
/ 15 сентября 2011

У меня есть окно поиска.

Мой пользователь с правами администратора может искать "@MG @EB dorchester".

В ASP мне нужно посчитать, сколько раз символ «@» появляется в строке. Как это возможно?

Ответы [ 5 ]

39 голосов
/ 15 сентября 2011

Попробуйте это:

len(yourString) - len(replace(yourString, "@", ""))
4 голосов
/ 16 сентября 2011

для JW01

Dim pos : pos = 0
Dim count : count = -1
Do 
  count = count + 1
  pos = InStr(pos + 1, str, "@")
Loop While (pos > 0)
2 голосов
/ 08 августа 2016
Response.write ubound(split(str,"@"))

достаточно для подсчета появления конкретного символа

2 голосов
/ 15 сентября 2011

Попробуйте цикл while:

Do While (str.indexOf("@") != -1)
  count = count + 1
  str = right(str, len(str) - str.indexOf("@"))
Loop

EDIT :

Этот цикл for может иметь больше смысла:

dim strLen, curChar, count
count = 0
int strLen = len(str)
for i = 1 to strLen
  curChar = mid(str, i, 1)
  if curChar = "@"
    count = count + 1
  end if
next
0 голосов
/ 01 марта 2012

Замените поиск пустым и найдите разницу между оригинальной и новой строкой, сколько раз строка присутствует

Dim a = "I @ am @ Thirs@ty" 
Dim count 
count = Len(a) - Len(Replace(a,"@",""))
Response.write count
...