Názory ke článku Visual Basic – Počet řetězců v textu – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Názory ke článku Visual Basic – Počet řetězců v textu – Programujte.comNázory ke článku Visual Basic – Počet řetězců v textu – Programujte.com

 

Názory ke článku Visual Basic – Počet řetězců v textu

tom*p   NOVÝ
3. 1. 2007

Dobré.
Pěkný článek, sám jsem to kdysi řešil funkcí.
Tady máte mou alternativu:



Private Function Pocet_vyskytu(ByVal pstText As String, ByVal pstRetezec As String) As Long
Dim loPozice As Long, loPocet As Long
If pstRetezec <> "" Then
loPocet = 0
loPozice = InStr(pstText, pstRetezec)
Do While loPozice > 0
loPocet = loPocet + 1
loPozice = InStr(loPozice + 1, pstText, pstRetezec)
Loop
Pocet_vyskytu = loPocet
Else
Pocet_vyskytu = -1
End If
End Function

Safo   NOVÝ
3. 1. 2007

Váš spôsob na spočítanie výskytu reťazca v texte je celkom dobrý, ale existujú aj rýchlejšie spôsoby. Skúsil som si napísať vlastnú funkciu a tá je približne 10 krát rýchlejšia. Vyzerá asi takto :



Private Function StrCount(Retazec As String, Znak As String) As Integer
Dim j As Integer
Dim Temp As String

Temp = Retazec

While InStr(Temp, Znak) <> 0
j = j + 1
Temp = Left(Temp, InStrRev(Temp, Znak) - 1)
Wend

StrCount = j
End Function

maty   NOVÝ
2. 4. 2007

Každopádněje původní smyčka for ... next a prolézání znak po znaku nesmysl , logicky hledám od místa kde jsem
nalezl poslední výskyt

Jirka Basler   NOVÝ
23. 6. 2019

Je to starý článek, ale: odhaduji, že nejrychejší bude použít split(KdeHledám As String, CoHledám As String) na vytvoření pole arr pak UBound(arr,1) nebo přímo UBound(split(KdeHledám As String, CoHledám As String),1)

jiri.basler@gmail.com

Přidej svůj názor

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo e-mailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Reaguješ na příspěvek:
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové názory e-mailem (pouze pro přihlášené)
Sleduj názory ke článku a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.



Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý