Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2012
    Messaggi
    15

    Controllare quante volte c'è un carattere in una stringa

    Ciao ragazzi, come da titolo volevo sapere se esiste una funziona che mi da come output un integer che mi dice quante volte si ripete un carattere in una stringa es
    ax^2+bx+c=0 devo sapere che il + c'è 2 volte..

    Ho trovate diverse funzioni utili, tipo: indexOf o contains(ma non mi dice quante volte) ma non ce nè una che fa al caso mio.

    Grazie

  2. #2
    Utente di HTML.it L'avatar di U235
    Registrato dal
    Mar 2006
    Messaggi
    1,539
    codice:
    "ax^2+bx+c=0".Count(c=>c=='+')

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2012
    Messaggi
    15
    Grazie mille ma mi potresti spiegare come funziona? Dopo lo provo

  4. #4
    Utente di HTML.it L'avatar di U235
    Registrato dal
    Mar 2006
    Messaggi
    1,539
    Originariamente inviato da dvd.ciri
    Grazie mille ma mi potresti spiegare come funziona? Dopo lo provo
    ciao,
    beh faresti molto prima a provarlo , si tratta di Linq.
    In sostanza una stringa è anche un vettore di char, quindi come tale può essere manipolato con Linq e usati su di esso i vari metodi di estensione supportati per i tipi derivati da System.Collections.IEnumerable e System.Collections.Generic.IEnumerable<T>, in questo caso ho utilizzato il metodo Count() contando i char + contenuti all'interno del vettore di char (la stringa stessa). Se non lo conosci già ti consiglio di dare un occhiata a Linq, è molto interessante.


  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2012
    Messaggi
    15
    Ho provato ad usarlo ma mi da errore..
    ho provato a fare

    msgbox(equazione.Count(c=>c=='+'))
    mi da errore al 3 uguale e mi dice prevista espressione

  6. #6
    Utente di HTML.it L'avatar di U235
    Registrato dal
    Mar 2006
    Messaggi
    1,539
    Originariamente inviato da dvd.ciri
    Ho provato ad usarlo ma mi da errore..
    ho provato a fare

    msgbox(equazione.Count(c=>c=='+'))
    mi da errore al 3 uguale e mi dice prevista espressione
    certo, stai usando codice c# in vb

    in vb si usa così :
    codice:
    MsgBox(equazione.Count(Function(c) c = "+"))

  7. #7

    Moderazione

    Originariamente inviato da U235
    certo, stai usando codice c# in vb
    ... il che spiega perché bisogna sempre indicare il linguaggio di riferimento nel titolo.
    Amaro C++, il gusto pieno dell'undefined behavior.

  8. #8
    Utente di HTML.it
    Registrato dal
    Oct 2012
    Messaggi
    15
    scusatemi tanto sono nuovo, cmq utilizzo vb.net
    Però non va ancora mi da errore, ho fatto msgbox(equazione.count(function(c) c = "+"))

  9. #9
    Utente di HTML.it L'avatar di U235
    Registrato dal
    Mar 2006
    Messaggi
    1,539

    Re: Moderazione

    Originariamente inviato da MItaly
    ... il che spiega perché bisogna sempre indicare il linguaggio di riferimento nel titolo.


    Originariamente inviato da dvd.ciri
    scusatemi tanto sono nuovo, cmq utilizzo vb.net
    Però non va ancora mi da errore, ho fatto msgbox(equazione.count(function(c) c = "+"))
    dovresti indicare il tipo di errore.
    che framework stai usando?

    prova così :
    codice:
    MsgBox(equazione.Count(Function(c) c = "+"c))

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.