J'ai une chaîne comme 20090101
et je veux le comparer avec ????01??
.Chaîne comparer en C#
if (input == "----01--") { .... }
Comment puis-je comparer les 5ème et 6ème caractères avec "01"?
J'ai une chaîne comme 20090101
et je veux le comparer avec ????01??
.Chaîne comparer en C#
if (input == "----01--") { .... }
Comment puis-je comparer les 5ème et 6ème caractères avec "01"?
vous devez créer une expression regex. pour vérifier si le 4ème et 5ème octet est 01, vous pouvez écrire
var r = new Regex("^.{4}01$");
if(r.Match(str) ...) ...
Le '$' ne devrait probablement pas être là. –
Que diriez-vous de '@"^\ d {4} 01 \ d \ d $ "'? –
Mise à jour: Après avoir vu votre commentaire, je pense que vous devez analyser la chaîne comme DateTime:
string s = "20090101";
DateTime dateTime;
if (DateTime.TryParseExact(s, "yyyyMMdd", null, DateTimeStyles.None, out dateTime))
{
if (dateTime.Month == 1)
{
// OK.
}
}
else
{
// Error: Not a valid date.
}
Oui, merci beaucoup – Irgat
MSDN a un grand article on comparing strings, mais vous pouvez vous référer à la String
documentation pour une aide spécifique, notamment: String.Compare
, String.CompareTo
, String.IndexOf
et String.Substring
.
Je pense que cela peut être ce que vous voulez:
if (input.Substring(4, 2) == "01")
{
// do something
}
Cela une sous-chaîne à deux caractères d'entrée (à partir de 5 caractères) et le comparer à "01"
.
Oui, c'est ma réponse merci – Irgat
Cela lèvera une exception si l'entrée est inférieure à 6 caractères. –
Comme Bauer a dit que vous pouvez utiliser les fonctions de chaîne, vous pouvez également convertir la chaîne de Char tableau et de travailler avec elle carboniser par char
plus d'info S'il vous plaît. – kenny
Je veux dire que si ma contribution est la même avec **** 01 **. Par exemple: if (input == "20090101") {...} Dans ce comparatif, 01 est plus important pour moi. Comment puis-je spécifier 01 char? merci – Irgat
Cela ressemble étrangement à une date. Essayez-vous de faire correspondre une date qui représente un jour de janvier de n'importe quelle année? –