0Pricing
Zig Academy · Leçon

Comparer et rechercher des octets

Utilisez les fonctions utilitaires de std.mem sur les chaînes.

Comparer et rechercher des octets est une leçon Zig Academy gratuite sur CoddyKit. Ceci est la leçon 3 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Zig Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Zig Academy comprend 4 leçons au total.

Vous ne pouvez pas utiliser ==

Deux slices sont des fenêtres différentes ; == compare donc les pointeurs et les longueurs, pas le contenu. Comparer du texte nécessite une véritable vérification octet par octet.

std.mem à la rescousse

Le module de la bibliothèque standard std.mem fonctionne sur des slices de n'importe quel type d'élément, y compris vos chaînes []const u8.

const std = @import("std");
const mem = std.mem;

eql compare le contenu

Utilisez mem.eql pour vérifier que deux slices contiennent les mêmes octets dans le même ordre. La fonction renvoie un booléen simple sur lequel vous pouvez effectuer un branchement.

mem.eql(u8, "zig", "zig"); // true

Transmettre le type d'élément

De nombreux utilitaires std.mem prennent le type d'élément comme premier argument. Pour les chaînes, cet argument est toujours u8, conformément à []const u8.

Trouver une sous-chaîne

Recherchez du texte dans du texte avec indexOf. La fonction renvoie un indice facultatif : la position de la première occurrence, ou null si elle est absente.

mem.indexOf(u8, "hello", "ll"); // 2

Gérer null

Comme indexOf renvoie une valeur facultative, décompactez-la avec if ou orelse. Un résultat null signifie simplement que l'élément recherché n'a pas été trouvé.

if (mem.indexOf(u8, h, n)) |i| {
    // found at i
}

Rechercher depuis la fin

Vous cherchez la dernière occurrence plutôt que la première ? Utilisez lastIndexOf, qui parcourt le texte à l'envers et renvoie lui aussi un indice facultatif.

Préfixe et suffixe

Vérifiez comment une chaîne commence ou se termine avec startsWith et endsWith. Les deux prennent des u8 et renvoient un booléen simple, idéal pour l'analyse.

mem.startsWith(u8, "main.zig", "main");

Recherche d'un seul octet

Pour localiser un octet plutôt qu'une sous-chaîne, utilisez indexOfScalar. C'est la voie rapide lorsque vous n'avez besoin que d'un seul caractère.

mem.indexOfScalar(u8, "a,b", ',');

Compter les occurrences

Utilisez mem.count pour compter le nombre d'occurrences d'un élément recherché dans le texte. La fonction renvoie un usize, jamais null, même lorsque le compte vaut zéro.

mem.count(u8, "aaa", "a"); // 3

Sensibilité à la casse

Ces utilitaires sont sensibles à la casse : A et a sont des octets différents. Normalisez d'abord la casse si vous souhaitez une recherche insensible à la casse.

Vérification rapide

Vous voulez savoir si deux chaînes contiennent exactement le même texte.

Récapitulatif

Vous avez comparé du texte avec mem.eql et effectué des recherches avec indexOf, startsWith, indexOfScalar et count, en tenant compte de null et de la casse. 🔍

Questions Fréquemment Posées

La leçon « Comparer et rechercher des octets » est-elle gratuite ?

Oui — le texte complet de « Comparer et rechercher des octets » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Zig Academy, passe à CoddyKit PRO. Le cours Zig Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Comparer et rechercher des octets » ?

Utilisez les fonctions utilitaires de std.mem sur les chaînes. Tu pratiques Zig Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Zig Academy ?

Aucune expérience préalable n'est requise. Zig Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 3 sur 4.

Combien de temps prend la leçon « Comparer et rechercher des octets » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Zig Academy ?

Oui. Chaque leçon Zig Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Les chaînes sont des []const u8
  2. Littéraux de chaîne et séquences d'échappement
  3. Comparer et rechercher des octets
  4. Formater du texte avec std.fmt
← Retour à Zig Academy