PDA

View Full Version : [C#] Verificare se in una stringa sono presenti alcuni caratteri


voyager18
01-09-2007, 13:22
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? :confused:

andbin
01-09-2007, 13:30
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? :confused:Parlando in generale (perché C# e .NET non li conosco ancora bene), o scansioni la stringa e carattere per carattere stabilisci cosa è o utilizzi delle espressioni regolari.

voyager18
01-09-2007, 13:54
Le espressioni regolari non le posso utilizzare perchè non sto programmando in ASP.NET ma in Visual C# e qui non ci sono i controlli RegularExpressionValidator. Mi servirebbe un comando tipo il comando instr di Visual Basic.

andbin
01-09-2007, 14:15
Le espressioni regolari non le posso utilizzare perchè non sto programmando in ASP.NET ma in Visual C# e qui non ci sono i controlli RegularExpressionValidator. Mi servirebbe un comando tipo il comando instr di Visual Basic.Certo che ci sono le espressioni regolari!!! (ci mancherebbe :D )

Vedi namespace System.Text.RegularExpressions

voyager18
01-09-2007, 15:33
Mi potresti dire brevemente come funzionano? Perchè io ho usato i RegularExpressionValidator di ASP.NET che però erano componenti visuali.

andbin
01-09-2007, 15:49
Mi potresti dire brevemente come funzionano? Perchè io ho usato i RegularExpressionValidator di ASP.NET che però erano componenti visuali.Come ho detto all'inizio (ma lo ripeto), C# e .NET li conosco pochissimo. Comunque un esempietto sono riuscito a scriverlo:

using System;
using System.Text.RegularExpressions;

class StringInfo
{
public static void Main (string[] args)
{
if (args.Length == 1)
{
Console.WriteLine ("Solo lettere: {0}", AllAlpha (args[0]) ? "si" : "no");
}
}

public static bool AllAlpha (string s)
{
Regex re = new Regex ("^[a-z]+$", RegexOptions.IgnoreCase);
return re.IsMatch (s);
}
}