Tout d'abord, vous ne devez pas jeter à char
vos ss[i]
ou autres. ss[i]
et d'autres sont déjà char
. Par la suite, vous essayez de concaténer deux char (ss[i+1]
et ss[i+2]
) dans votre boucle if et après avoir vérifié l'égalité avec string
. C'est faux. Changez-le en;
if ((ss[i] == '0') && (ss[i + 1] == '9') && (ss[i + 2]) == '1')
Console.WriteLine("found");
En troisième lieu, je pense que le plus important, ne pas écrire de code comme ça. Vous pouvez facilement utiliser String.Contains
méthode qui fait exactement ce que vous voulez.
retourne une valeur indiquant si l'objet String spécifié se produit au sein de cette chaîne.
string ss = "fc7600109177";
bool found = ss.Contains("091");
Voici un DEMO
.
utilisation « contiens » return seulement vrai ou faux et « indice de » lieu de retour de chaîne mais je veux trouver l'emplacement de « 091 » en art et si « 091 » répétition comme: ss = "763091d44a0914 "Comment puis-je trouver la deuxième" 091 "??
Voici comment vous pouvez trouver tous les index dans votre chaîne;
string chars = "091";
string ss = "763091d44a0914";
List<int> indexes = new List<int>();
foreach (Match match in Regex.Matches(ss, chars))
{
indexes.Add(match.Index);
}
for (int i = 0; i < indexes.Count; i++)
{
Console.WriteLine("{0}. match in index {1}", i+1, indexes[i]);
}
La sortie sera;
1. match in index: 3
2. match in index: 10
Voici un DEMO
.
avec un grand merci – zozo
utilisation retour contiennent seulement vrai ou fulse – zozo
@ZainabJawad Alors ..? N'est-ce pas ce que tu veux? –