[.NET] [HILFE] Bestimmtes Zeichen zählen aus einer Zeichenkette

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von Kaptain27, 16. November 2008 .

  1. 16. November 2008
    [HILFE] Bestimmtes Zeichen zählen aus einer Zeichenkette

    Hallo

    Ich sitze gerade vor einen kleinen Problem und zwar möcht ich ein zeichen z.B. ein "a" aus einer Zeichenkette zählen. Die Anzahl soll dann in einem Label ausgegeben werden. Ich weiß zwar wie man eine gesammte Zeichenkette auszählt aber nicht einzelne Zeichen.
    Bei eingabe von "Hallo" soll er dann "Anzahl a = 1" ausgeben. Ich bekommm es nur hin das ganze Wort zu zählen.

    Kann mir da vielleicht wer weiter helfen

    Mfg Kaptain27
     
  2. 16. November 2008
    AW: [HILFE] Bestimmtes Zeichen zählen aus einer Zeichenkette

    habs mal mit jscript.net gemacht.

    Code:
    //jscript.net
    var str : String = "hallo";
    
    function substrCount(str : String, chr : String) : int {
     var count : int = 0;
     var inc : int = 0;
     var curr : String;
     while((curr = str.charAt(inc++))) {
     if(curr == chr) count++;
     }
     
     return count;
    }
    
    print(substrCount(str, "l")); //2
     
  3. 16. November 2008
    AW: [HILFE] Bestimmtes Zeichen zählen aus einer Zeichenkette

    Jo danke das hilft mir schonmal ein Stückchen weiter. BW geht schonmal an dich




    --Hab ganz vergessen zu schreiben das ich das mit VB6 mache---
     
  4. 16. November 2008
    AW: [HILFE] Bestimmtes Zeichen zählen aus einer Zeichenkette

    Code:
    Private Function CountChar(ByVal sString As String, ByVal sChar As Char) As Integer
     Dim iCounter As Integer = 0, iPos As Integer = 0
    
     While (sString.IndexOf(sChar) > -1) 'Zeichen gefunden
     iCounter += 1 'Counter erhöhen
     sString = sString.Substring(sString.IndexOf(sChar) + 1) 'Position erhöhen
     End While
    
     CountChar = iCounter 'Anzahl zurückgeben
    End Function
    Beispielaufruf:

    Code:
    MessageBox.Show("a kommt in ""Hallo"" " & CountChar("Hallo", "a") & " Mal vor.")
     
  5. 16. November 2008
    AW: [HILFE] Bestimmtes Zeichen zählen aus einer Zeichenkette

    Verdammt ich rall es nicht..
    Also ich habe ein Textfeld indem ich was eingeben kann aus diesem eingegebenen möcht ich nun die "a" zählen, welche in dem Label (Caption oder so ausgegeben werden soll. Ich weiß das ich mit

    Len (txt_eingabe.text) die gesamte länge bekomme aber ich will nur die "a"a zählen.

    @ Gibbon Danke für deine Bemühungen mir zu helfen aber irgendwie versteh ich es nicht.
     
  6. 16. November 2008
    Zuletzt von einem Moderator bearbeitet: 14. April 2017
    AW: [HILFE] Bestimmtes Zeichen zählen aus einer Zeichenkette

    Code:
    Private Function CountChar(ByVal sString As String, ByVal sChar As Char) As Integer
     Dim iCounter As Integer = 0, iPos As Integer = 0
    
     While (sString.IndexOf(sChar) > -1) 'Zeichen gefunden
     iCounter += 1 'Counter erhöhen
     sString = sString.Substring(sString.IndexOf(sChar) + 1) 'Position erhöhen
     End While
    
     CountChar = iCounter 'Anzahl zurückgeben
    End Function
    Das ist eine Funktion, die du irgendwo in deinen Code kopierst (da wo auch z. B. die Prozedur Form_Load ist).

    Dann schreibst du z. B. in einen Button den Code zum Aufrufen (da wird im Label Label1 ausgegeben, wie oft im Text in Textbox1 der Buchstabe "a" vorkommt):

    Code:
    Label1.Text = CountChar(Text1.Text, "a")
    Hier ein Beispielprojekt (hab ich mit VB.NET Express 2008 gemacht, hoffentlich kannst dus öffnen): Klick mich ganz sanft
     
  7. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.