Описание функции
CountString2
Подсчитывает число вхождений в строке без учёта регистра.
CountString2(String$, StringToCount$)
Параметры
String$ | Строка, в которой искать |
StringToCount$ |
Искомая строка |
Возвращаемое значение
Возвращает число вхождений |
Примечания
Оригинальная функция CountString() не чувствительна к регистру, поэтому пришлось делать аналог учитывающий регистр.Пример
EnableExplicit
Procedure CountString2(String$, StringToCount$)
Protected Pos, Occurrences
Pos = FindString(String$, StringToCount$, 1, #PB_String_NoCase)
If Pos
Occurrences = 1
Repeat
Pos = FindString(String$, StringToCount$, Pos + 1, #PB_String_NoCase)
If Pos > 0
Occurrences + 1
Else
Break
EndIf
ForEver
ProcedureReturn Occurrences
EndIf
EndProcedure
Procedure CountString3(String$, StringToCount$, Mode = #PB_String_NoCase)
Protected Pos, Occurrences
If Mode & #PB_String_NoCase
Pos = FindString(String$, StringToCount$, 1, Mode)
If Pos
Occurrences = 1
Repeat
Pos = FindString(String$, StringToCount$, Pos + 1, Mode)
If Pos > 0
Occurrences + 1
Else
Break
EndIf
ForEver
ProcedureReturn Occurrences
EndIf
Else
ProcedureReturn CountString(String$ , StringToCount$) ; не чувствителен к регистру
EndIf
EndProcedure
Define String$ = "Is this a simple string?"
Debug CountString2(String$, "i", #PB_String_NoCase)
Debug CountString3(String$, "i")
Debug CountString(String$, "i")
Debug CountString2(String$, "z", #PB_String_NoCase)
Debug CountString3(String$, "z")
Debug CountString(String$, "z")