Remplacer la première occurrence
Dans « one two one three one », remplacer le premier « one » par « FIRST » donne « FIRST two one three one », et les autres occurrences restent telles quelles. La recherche est littérale, avec une option pour ignorer la casse. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Exemple résolu
- Texte
- one two one three one
- Calculer
- one
- Remplacement
- FIRST
- Résultat
- FIRST two one three one
- Texte
- FIRST two one three one
- Original
- one two one three one
- Quantité
- 1
Rédacteurs, ingénieurs et pipelines d’automatisation ont souvent besoin d’une modification précise : ne changer que la première mention d’un mot ou d’un jeton et laisser seules toutes les occurrences ultérieures. Un rechercher-remplacer global réécrit tout le document et peut casser des exemples, des journaux ou des noms de produit dont vous avez encore besoin. Un indicateur optionnel insensible à la casse couvre les brouillons mixtes où le premier Hello ou HELLO doit changer sans parcourir chaque forme ultérieure. Les termes de recherche vides échouent en entrée invalide afin que les traitements par lots n’exécutent jamais un no-op silencieux.
Ce que signifie remplacer la première occurrence et quand l’utiliser
Remplacer la première occurrence signifie parcourir la chaîne source de gauche à droite, s’arrêter à la première correspondance non chevauchante d’un terme de recherche, écrire une chaîne de remplacement à cet unique endroit et laisser intacte chaque correspondance ultérieure — y compris lorsque le remplacement est vide et que vous ne supprimez que le premier hit.
La correspondance est littérale : si vous cherchez un point ou une parenthèse, ces caractères sont du texte brut, pas de la syntaxe d’expression régulière, de sorte que l’outil reste prévisible pour les non-développeurs et pour les pipelines qui ne doivent jamais être surpris par des caractères spéciaux. Préférez ce calculateur lorsque l’intention de recherche est de remplacer la première occurrence, d’échanger seulement la première correspondance, d’éditer la première sous-chaîne ou de changer le premier jeton sans renommage global.
Les sources typiques incluent des titres de document où seul le nom de produit d’ouverture doit être mis à jour, des lignes de journal où le premier code d’erreur est réécrit pour des démonstrations, des cellules CSV avec un préfixe hérité en tête, et des notes où une faute apparaît une fois en haut et correctement ensuite. La correspondance optionnelle insensible à la casse plie la casse des lettres pour attraper le premier Hello, HELLO ou hello sans lister les variantes.
N’utilisez pas ce produit lorsque vous devez remplacer chaque correspondance — c’est une intention SEO distincte servie par les outils de rechercher-remplacer tout — ni lorsque vous avez besoin de groupes de capture, de lookarounds ou de moteurs regex multilignes.
Cas d’usage
Premier nom de marque ou de produit uniquement
Mettez à jour le nom de produit d’ouverture dans un texte marketing tout en laissant inchangés les noms d’exemple ultérieurs, les SKU et les chaînes de démonstration.
Nettoyage du jeton initial dans les modèles
Supprimez ou réécrivez uniquement le premier jeton de placeholder ou le préfixe hérité dans les macros, extraits d’e-mail et lignes de configuration.
Questions fréquentes
Comment remplacer uniquement la première occurrence d’une sous-chaîne ?
Le replace optionnel est la substitution (vide par défaut, ce qui supprime la première correspondance). La réponse inclut result, count et index.
Que se passe-t-il si le terme de recherche est vide ?
Une chaîne find vide est rejetée afin que les pipelines n’exécutent jamais un no-op silencieux ni le piège classique du remplacement de chaîne vide ; ces échecs ne sont pas facturés.
En quoi cela diffère-t-il d’un rechercher-remplacer tout ?
Cet outil ne change que la première correspondance et laisse les suivantes intactes. Le rechercher-remplacer tout échange chaque occurrence. Utilisez replace-first lorsque vous avez besoin d’une édition unique et précise.
Find prend-il en charge les expressions régulières ?
Non. Le terme de recherche est toujours traité comme une chaîne littérale. Points, crochets et autres métacaractères regex se correspondent à eux-mêmes pour un comportement prévisible pour les rédacteurs et les traitements par lots.
Peut-on ignorer les majuscules pour trouver la première occurrence ?
Oui, activez l'option qui ignore la casse : le premier Hello, HELLO ou hello est alors remplacé, quelle que soit sa graphie. Par défaut, la recherche respecte exactement les majuscules et les minuscules.
Outils associés
Pour les développeurs — accès API
Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.
Endpoint
Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.
Appeler depuis votre stack
curl -X POST https://api.kit.forhosting.com/str/replace-first \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"one two one three one","find":"one"}'const res = await fetch("https://api.kit.forhosting.com/str/replace-first", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "one two one three one",
"find": "one"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/str/replace-first",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "one two one three one",
"find": "one"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/str/replace-first", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"one two one three one","find":"one"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"one two one three one","find":"one"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/str/replace-first", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemple de requête
{
"text": "one two one three one",
"find": "one"
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "str.replace_first",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |
Notes techniques
Cet outil de remplacement de la première occurrence prend votre chaîne source, un terme de recherche non vide et un remplacement optionnel, ne substitue que la première correspondance littérale et renvoie un contrat JSON stable avec le résultat, le nombre de correspondances, l’index de caractères, l’écho de l’original et les termes appliqués.
Ce que signifie remplacer la première occurrence et quand l’utiliser
Un terme de recherche vide lève invalid_input, ce qui protège les traitements par lots de l’écueil classique consistant à traiter la chaîne vide comme une correspondance entre chaque caractère.
Contrat d’entrée, rejet de recherche vide et lecture de la réponse
Utilisez result seul lorsque vous n’avez besoin que de la chaîne nettoyée ; utilisez count et index lorsqu’un pipeline journalise si et où l’édition a abouti ; utilisez original et result ensemble lorsqu’une interface de démo doit montrer l’avant et l’après. Le texte source suit les mêmes règles de rétention que les autres éléments parse du KIT. Envoyez un corps JSON avec le champ chaîne obligatoire text défini sur la source que vous souhaitez éditer et le champ chaîne obligatoire find défini sur un terme de recherche non vide. Le replace optionnel vaut par défaut la chaîne vide, qui supprime uniquement la première correspondance. case_insensitive optionnel vaut par défaut false pour une casse exacte ; mettez-le à true lorsque le premier brouillon à casse mixte doit encore correspondre. Des alias sont acceptés pour les anciens clients : text aussi comme input, value, s, content ou source ; find comme search, needle, from ou old ; replace comme replacement, with, to ou new ; case_insensitive comme ignore_case, ci ou insensitive. Un text manquant, un find manquant, une valeur non chaîne ou une chaîne find vide lèvent invalid_input avec un message qui nomme le problème, et ces échecs ne sont pas facturés sur l’API prépayée. Limitez les charges à des tailles de phrase, paragraphe et document court adaptées à un isolate Worker plutôt qu’à des dumps de plusieurs mégaoctets.
Usage API, tarification, flux de travail et limites pratiques
Appelez l’outil gratuit dans le navigateur de remplacement de la première occurrence pour le nettoyage de collages, les démonstrations en classe, le contrôle qualité de contenu et les renommages rapides à un seul impact sans installer un utilitaire de bureau ni écrire des extraits indexOf et slice dans chaque langage. Un flux typique ne renomme que la première mention de marque dans un texte produit afin que les noms d’exemple ultérieurs restent intacts, puis vérifie que count vaut un et que index pointe vers le décalage attendu. Associez ce point de terminaison à un rechercher-remplacer complet lorsqu’une étape ultérieure a vraiment besoin de chaque correspondance, mais gardez replace-first comme page d’atterrissage propre afin de ne pas mélanger l’intention SEO avec les outils de remplacement total. N’attendez pas une réécriture consciente du HTML qui ignore les balises, des champs de fusion de documents structurés ni une collation spécifique à la locale au-delà de la correspondance standard sans casse — ce sont des problèmes distincts. Utilisez l’API prépayée du KIT lorsqu’un CMS, un job ETL, un backend de formulaires, un support ou un client mobile a besoin de la même transformation sous solde à $0.002 par élément réussi ; les échecs de validation ne consomment jamais de solde après le rejet du moteur. Un autre flux supprime un jeton déprécié en tête en envoyant un replace vide, ou normalise la première variante à casse mixte avec case_insensitive true avant l’indexation de recherche. Les auteurs livrant des SDK peuvent documenter text et find comme champs obligatoires et montrer une source à plusieurs correspondances où seul le premier hit change, plus un exemple d’erreur find vide, pour que les intégrateurs voient les deux côtés du contrat.
Cas d'intégration
QA et fixtures déterministes
Les harnais de test figent les sorties golden de replace-first afin qu’un refactor passant au replace-all ou modifiant le rejet de find vide fasse échouer immédiatement l’intégration continue.
Questions techniques
L’outil de remplacement de la première occurrence est-il gratuit ?
L’outil navigateur s’exécute gratuitement sur votre appareil. Les appels API utilisent le solde prépayé KIT à $0.002 par élément réussi ; les échecs de validation ne sont pas facturés.