J'ai ce problème, j'utilise StringReader pour trouver des mots spécifiques à partir d'une zone de texte, jusqu'à présent, il faut beaucoup de travail, mais je dois trouver un moyen de vérifier comment vérifier des mots spécifiques dans chaque ligne contre un tableau à chaîne.
Le code suivant fonctionne: p> MAINTENANT, j'ai créé une matrice de chaîne pour stocker plusieurs chaînes, mais la méthode contient semble seulement accepter une chaîne. P> string[] systemsarray = new string[] { "as400", "x500", "mainframe" };
if(txt.Contains(systemsarray))
{
systems++;
}
// error message: cannot convert from string[] to string
4 Réponses :
Si vous recherchez l'existence de l'un de ces mots de la ligne, essayez:
if(systemsarray.Any(word => txt.Contains(word)))
{
users++;
}
Ou simplement si (Systemersarray.any (txt.contains)) code>
Difficile de dire pour certains que le pouvoir veut, mais s'ils ont besoin d'un compte, remplacez tout code> avec comptent code> et stockez-le dans systèmes code>.
@ Moo-Juice La réponse Hocsanmoya sélectionnée est effectivement la même que celle-ci, seulement déroulante dans une boucle au lieu d'une doublure à l'aide de Linq.
Bonjour, je viens de le faire, je suis désolé pour ça.
Pourquoi ne pas vous écrire une méthode d'extension pour faire cela? Utilisation: P> string[] systemsarray = new string[] { "as400", "x500", "mainframe" };
if(txt.ContainsAny(systemsarray))
{
systems++;
}
// error message: cannot convert from string[] to string
Merci très utile!
Vous devez extraire chaque élément de votre tableau:
foreach (string item in systemsarray)
{
if(txt.Contains(item))
{
systems++;
}
}
@Luameludik, désolé de vous soucier de nouveau, je me demandais saviez-vous comment vous débarrasser des duplicats? J'ai essayé plusieurs choses et je ne travaille toujours pas, j'ai créé un nouveau tableau à chaîne et j'ai essayé de supprimer les duplicats ... String [] Systems2 = nouvelle chaîne [] {élément}; IEnumerable
Si vous voulez une recherche insensible au cas ( vous pouvez supprimer stringcomparonison.ordinalInignorecase Si vous souhaitez prendre en compte le cas ( ou choisissez une valeur d'énorme différente). p> p> AS400 code> correspondra as400 code>), vous pouvez faire ce
Bonjour, merci pour votre aide, quelque chose que j'ai fait était de convertir tout le texte en minuscule; comme ça; texte texte = textinput.text.tObower (); Mais je vais prendre cela en considération, merci encore!
@HOCSANMOYA - De rien. Comme note latérale, la conversion et la vérification des minuscules n'est pas recommandée. Vous devez généralement utiliser le chèque de comparaison ci-dessus ou le convertir en majuscules à la place Plus d'infos .
Salut! Merci, dans ce cas, je suivrai vos conseils.