Retirer guillemets extérieurs
Collez "hello world" et récupérez hello world : une seule paire de guillemets extérieurs assortis est retirée, qu'ils soient droits, anglais, français ou accents graves. Sans paire assortie, le texte reste tel quel. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Exemple résolu
- Texte
- "hello world"
- Texte
- hello world
- Original
- "hello world"
- Longueur
- 11
- Style de guillemets
- double
Cet outil pour retirer les guillemets extérieurs enlève une seule paire assortie de guillemets entourant votre texte—guillemets doubles ou simples ASCII, typographiques, guillemets français ou backticks—et renvoie la valeur intérieure propre. Si le premier et le dernier caractère ne forment pas une paire connue, la chaîne d'origine est renvoyée inchangée avec stripped à false, afin que vous ne perdiez pas de données par conjecture. Le moteur est pur et déterministe : pas de réseau, pas de modèle, pas d'horloge et pas d'échantillonnage aléatoire.
Ce que signifient les guillemets extérieurs et ce que cet outil retire
Cette capacité répond à ce problème étroit : elle regarde le premier et le dernier caractère de l'entrée ; s'ils forment une paire de guillemets connue et assortie, elle retire cette paire une seule fois et renvoie le texte intérieur. Les paires admises incluent les guillemets doubles et simples ASCII, les backticks assortis, les guillemets typographiques doubles et simples, les guillemets doubles et les guillemets simples.
L'outil ne parcourt pas l'intérieur pour réécrire les échappements, les règles de doublement du RFC 4180 ni les couches imbriquées : seule la paire extérieure est pelée. Une valeur qui commence par un guillemet double et se termine par un guillemet simple reste inchangée, car ces caractères ne forment pas une paire assortie. Un mot nu sans guillemets extérieurs reste également inchangé, avec stripped à false pour que les clients puissent brancher sans inventer un second code de succès.
Après un retrait réussi de deux guillemets autour d'un contenu vide, le résultat peut légitimement être la chaîne vide ; cela diffère du rejet d'un champ manquant.
Où le déguillemetage des délimiteurs extérieurs apporte de la valeur
Les équipes data collent des exports CSV dans des feuilles de staging et découvrent que chaque nom de produit est encore enveloppé de guillemets doubles laissés par Excel ou un outil de dump. Les éditeurs de configuration et gestionnaires de secrets affichent souvent les valeurs entre guillemets pour la lisibilité ; les opérateurs ont besoin d'un pelage en un clic avant de stocker la valeur dans une variable d'environnement ou un champ typé qui conserverait sinon les guillemets.
Les laboratoires de cours qui enseignent l'hygiène des chaînes peuvent montrer paires assorties versus enveloppes désassorties avec un oracle déterministe plutôt que des macros de tableur opaques qui varient selon la locale. Associez cet outil au trim, à la conversion de casse ou au quotage de champs CSV lorsque vous construisez un petit laboratoire d'aides textuelles déterministes pour formulaires, préparation CMS et pipelines d'import.
Gardez les requêtes petites, figez les sorties attendues dans les tests, et vous obtenez un déguillemetage reproductible pour devoirs, plugins LMS et workers en périphérie sans monter une pile complète d'analyse par vous-même.
Cas d’usage
Nettoyage au collage depuis CSV et tableurs
Retirez les guillemets extérieurs des cellules copiées de dumps CSV ou d'Excel pour que noms et codes produits arrivent en base sans caractères de guillemets littéraux.
Hygiène déterministe d'import et de CI
Normalisez les jetons entre guillemets dans les étapes ETL et les tests unitaires avec un pelage pur et stable en octets de la paire extérieure, indépendant de la locale et de l'horloge.
Questions fréquentes
Quels styles de guillemets sont pris en charge ?
Guillemets doubles et simples ASCII, backticks assortis, guillemets typographiques doubles et simples, guillemets doubles et guillemets simples.
Que se passe-t-il si les guillemets ne correspondent pas ?
La chaîne reste inchangée et stripped vaut false. Les enveloppes désassorties (par exemple un début en guillemet double et une fin en simple) ne sont jamais supprimées par conjecture.
Les guillemets à l'intérieur du texte sont-ils retirés aussi ?
Non. Seuls le premier et le dernier caractère sont examinés, et seule cette paire extérieure disparaît. Les guillemets placés au milieu d'une phrase restent exactement à leur place.
Que se passe-t-il si la valeur a deux couches de guillemets ?
Seule la paire la plus extérieure est retirée, une seule fois. La paire intérieure reste, donc une valeur entourée deux fois revient encore entourée une fois. Relancez l'outil sur le résultat pour enlever cette seconde couche.
Comment savoir si quelque chose a été retiré ?
Le résultat indique si des guillemets ont été enlevés et de quel type ils étaient, par exemple doubles. Sans paire valide, votre texte revient inchangé : une valeur sans guillemets extérieurs n'est jamais modifiée au hasard.
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/strip-surrounding-quotes \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"\"hello world\""}'const res = await fetch("https://api.kit.forhosting.com/str/strip-surrounding-quotes", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "\"hello world\""
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/str/strip-surrounding-quotes",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "\"hello world\""
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/str/strip-surrounding-quotes", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"\\"hello world\\""}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"\"hello world\""}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/str/strip-surrounding-quotes", 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": "\"hello world\""
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "str.strip_surrounding_quotes",
"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.
Limites
max_chars | 100000 |
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
Lorsque vous collez une cellule de tableur, une chaîne d'un journal JSON ou une valeur d'un fichier de configuration, le texte conserve souvent les guillemets extérieurs qui le délimitent à la source. Ces enveloppes cassent les tests d'égalité, injectent des guillemets littéraux dans les bases de données et perturbent les pipelines d'import qui traitent déjà le champ comme une chaîne. Utilisez-le gratuitement dans le navigateur pour le nettoyage et la préparation de données, ou appelez l'API à $0.002 par requête réussie lorsque CI, tâches ETL et gestionnaires de formulaires ont besoin de la même étape de déguillemetage reproductible.
Ce que signifient les guillemets extérieurs et ce que cet outil retire
Les guillemets extérieurs sont les délimiteurs qui marquent une valeur de chaîne dans les champs CSV, les jetons JSON, la configuration de type shell et de nombreux formats d'export. En copiant ces valeurs vers des formulaires, des tableurs et des scripts, on conserve par accident les caractères d'ouverture et de fermeture comme partie du payload. Une entrée vide est rejetée avec invalid_input plutôt qu'un succès vide, car un champ blanc signifie en général que le formulaire n'a pas été rempli. Les champs de réponse sont stables : text est la chaîne nettoyée ou d'origine, original répète l'entrée exacte, stripped est un booléen, quote_style nomme la paire lorsqu'un retrait a eu lieu, length est le nombre de caractères de text, et method est l'étiquette fixe strip_surrounding_quotes pour les journaux et les pipelines multi-outils.
Contrat d'entrée, validation et résultats reproductibles
La valeur doit être une chaîne non vide ; les nombres finis et les bigints sont d'abord convertis en texte décimal afin qu'un code produit saisi comme nombre soit encore traité après conversion. La validation échouée n'est pas facturée ; seul le travail réussi par unité item consomme le solde prépayé au prix de base publié. Envoyez en POST un corps JSON avec le champ obligatoire text contenant la chaîne qui peut encore porter des guillemets extérieurs. Les alias input, string, value, content et s sont acceptés pour que chaînes de requête, colonnes de tableur et clients typés réutilisent le contrat sans renommer les clés. Booléens, objets simples et tableaux sont rejetés avec un message invalid_input clair pour qu'un corps JSON erroné ne devienne pas le mot true ni un dump d'objet inutile. La longueur est plafonnée à cent mille caractères pour qu'un collage incontrôlé ne monopolise pas un Worker ; les charges plus longues échouent avec un message de limite explicite plutôt qu'une troncature silencieuse. Lorsque la paire extérieure correspond, text est l'original sans le premier ni le dernier caractère, stripped vaut true et quote_style est l'un de double, single, backtick, curly_double, curly_single, guillemet ou single_guillemet. Lorsqu'aucune paire ne correspond, text égale original, stripped vaut false et quote_style est omis pour que les champs optionnels restent absents plutôt que null.
Où le déguillemetage des délimiteurs extérieurs apporte de la valeur
Les agents de support nettoient des fragments de tickets du style "status":"open" et extraient le jeton entre guillemets sans écrire un script jetable. Comme l'implémentation est parse pure de niveau A, chaque appel réussi coûte $0.002 sans jetons de modèle ni réseau sortant, tandis que le chemin navigateur reste gratuit pour le nettoyage interactif.
Cas d'intégration
Extraction de valeurs JSON et de configuration
Déguillemetez un seul jeton de chaîne copié d'une ligne de journal JSON ou d'un fichier de configuration avant de le coller dans des variables d'environnement, fixtures ou champs de formulaire.
Questions techniques
Comment retirer les guillemets extérieurs d'une chaîne ?
Envoyez un champ text non vide (ou les alias input, string, value, content, s). Si le premier et le dernier caractère forment une paire de guillemets connue et assortie, l'API renvoie le texte intérieur avec stripped à true ; sinon la chaîne d'origine est renvoyée inchangée.
Cela déséchappe-t-il les escapes CSV ou JSON à l'intérieur de la chaîne ?
Non. Seule la paire extérieure assortie est retirée. Les guillemets doublés intérieurs, escapes barre oblique et couches imbriquées restent tels quels pour que le résultat reste un pelage simple, pas un parseur de format complet.
Combien coûte le retrait des guillemets extérieurs ?
L'outil navigateur est gratuit. Les requêtes API utilisent le solde prépayé KIT à $0.002 par appel réussi ; une entrée invalide n'est pas facturée.