384 messaggi dal 26 agosto 2007
ciao ho una stringa in C# e mi sono trovato davanti questo problema. Come si fa a vedere se in una stringa ci sono alcuni caratteri? Ad esempio come faccio a vedere se in questa stringa "pippo1234" sono presenti solo caratteri, solo numeri o caratteri e numeri?

Lunga vita e prosperità!!
22 messaggi dal 06 settembre 2002
anche io sono un neofita ma mi viene da pensare che per risolvere il tuo problema potresti costruire una funzione ad hoc,
cioè:
leggere la stringa
misurare la sua lunghezza
a questo punto creare un ciclo da 0 alla lunghezza della stringa
al cui interno vai a controllare ogni singolo carattere se è un numero od una lettera, per questo esistono i metodi isletter e isnumber.
in vb io farei un qualcosa del genere:
Partial Class prova
    Inherits System.Web.UI.Page
    Function Parse_string(ByVal stringa As String)
        Dim n As Integer
        Dim lettere As Integer = 0
        Dim numeri As Integer = 0
        Dim risultato As String = ""

        For n = 0 To (stringa.ToString.Length - 1)
            Dim c As Char
            c = stringa.Chars(n)
            If (Char.IsLetter(c)) Then
                lettere = lettere + 1
            Else
                If (Char.IsNumber(c)) Then
                    numeri = numeri + 1
                End If
            End If
        Next n
        If (lettere <> 0) And (numeri <> 0) Then
            risultato = "La stringa contiene Lettere e Numeri"
        Else
            If (lettere <> 0) Then
                risultato = "La stringa contiene solo Lettere"
            Else
                If (numeri <> 0) Then
                    risultato = "La stringa contiene solo Numeri"
                End If
            End If
        End If
        Return risultato
    End Function

    Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
        Label1.Text = Parse_string(TextBox1.Text)
    End Sub
End Class







fammi sapere se ti sono stato d'aiuto.
ciao
22 messaggi dal 06 settembre 2002
scusa non mi ero accorto che chiedevi in c#, nessun problema...
eccoti la soluzione...


using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class prova_c : System.Web.UI.Page
{


    public object Parse_string(string stringa)
    {
        int n;
        int lettere = 0;
        int numeri = 0;
        string risultato = "";
        int val = stringa.Length - 1;
        char[] c ;
        
        for (n = 0; n <= (val); n++)
        {
            c = (stringa.ToCharArray(n,1));
            char a = c[0];
            if ((Char.IsLetter(a)))
            {
                lettere = lettere + 1;
            }
            else
            {
                if ((char.IsNumber(a)))
                {
                    numeri = numeri + 1;
                }
            }
        }
        if ((lettere != 0) & (numeri != 0))
        {
            risultato = "La stringa contiene Lettere e Numeri";
        }
        else
        {
            if ((lettere != 0))
            {
                risultato = "La stringa contiene solo Lettere";
            }
            else
            {
                if ((numeri != 0))
                {
                    risultato = "La stringa contiene solo Numeri";
                }
            }
        }
        return risultato;
    } 




    protected void Button1_Click(object sender, EventArgs e)
    {
        Label1.Text = (string)Parse_string(TextBox1.Text);
    }
}



Modificato da script il 01 settembre 2007 18.01 -
voyager18 ha scritto:
ciao ho una stringa in C# e mi sono trovato davanti questo problema. Come si fa a vedere se in una stringa ci sono alcuni caratteri? Ad esempio come faccio a vedere se in questa stringa "pippo1234" sono presenti solo caratteri, solo numeri o caratteri e numeri?
Ciao,
senza scrivere tonellate di codice non devi fare altro che usare le regular expression (namespace System.Text.RegularExpressions).

Info: http://www.regular-expressions.info/

Fabrizio Canevali

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.