Divisore parti di percorso
Incolli /home/a/file.tar.gz e ottenga le sue parti: cartella /home/a, nome del file file.tar.gz, nome file.tar, estensione .gz e radice /. Tutto si ricava dal testo, senza toccare alcun disco. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Esempio risolto
- Percorso
- /home/a/file.tar.gz
- Directory
- /home/a
- Nome del file
- file.tar.gz
- Nome senza estensione
- file.tar
- Ext
- .gz
Divida una stringa di percorso in dirname, basename, stem, estensione e root. Intento di ricerca: path basename dirname estensione. Non servono chiamate di rete, semi casuali né stato server per una risposta corretta.
Come funziona
Divida una stringa di percorso in dirname, basename, stem, estensione e root. Analisi pura di stringhe — non tocca mai il filesystem. L'implementazione è JavaScript puro, senza servizi esterni.
Non servono chiamate di rete, semi casuali né stato server per una risposta corretta. I job falliti non vengono addebitati. Le landing puntano all'intento di ricerca con parole chiave precise.
Preferisca unità e intervalli espliciti alla coercizione silenziosa di tipi errati. Quando un campo è opzionale, i valori predefiniti sono documentati in params e ripetuti nell'output. Questo mantiene
Input, limiti e arrotondamento
I decimali opzionali usano half-up una sola volta. Gli output ripetono gli input chiave così l'automazione può registrare il contesto completo di ogni chiamata. Non servono chiamate di rete, semi casuali né stato server per una risposta corretta.
I job falliti non vengono addebitati. Le landing puntano all'intento di ricerca con parole chiave precise. Preferisca unità e intervalli espliciti alla coercizione silenziosa di tipi errati.
Quando
Quando usarlo
Lo usi quando l'intento di ricerca coincide con il nome della calcolatrice e Le serve una risposta riproducibile per la didattica, le operazioni finanziarie, il GIS, gli strumenti di testo o il lavoro storico sulle unità. Divida una stringa di percorso in dirname, basename, stem, estensione e root. Non servono chiamate di rete, semi casuali né stato server per una risposta corretta.
I job falliti non vengono addebitati. Le landing puntano all'intento di ricerca con parole chiave precise. Preferisca unità e intervalli espliciti alla coercizione silenziosa di tipi errati.
Quando un campo è opzionale, i valori predefiniti sono
Domande frequenti
Effettua chiamate di rete?
No. Tutte le trasformazioni matematiche e di testo sono locali e deterministiche.
Chi ne è l'autore?
Aspire (elon@forhosting.com), consegna solo in EN; Nitro idrata le lingue.
Controlla se il file o la cartella esistono?
No. È un'analisi del solo testo e non tocca mai il file system, quindi funziona con qualsiasi percorso scriva, anche con uno che non esiste né sul suo computer né su un server.
Quale estensione restituisce per un nome come file.tar.gz?
Solo l'ultima, .gz, e lascia file.tar come nome senza estensione. Se le serve la doppia estensione completa, la ricavi dal nome del file intero, che viene restituito così com'è.
Come capisco se un percorso è assoluto?
Lo strumento indica la radice e se il percorso è assoluto. Nell'esempio, /home/a/file.tar.gz parte dalla radice /, quindi risulta assoluto.
Strumenti correlati
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo stack
curl -X POST https://api.kit.forhosting.com/text/path-parts \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"path":"/home/a/file.tar.gz"}'const res = await fetch("https://api.kit.forhosting.com/text/path-parts", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"path": "/home/a/file.tar.gz"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/text/path-parts",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"path": "/home/a/file.tar.gz"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/text/path-parts", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"path":"/home/a/file.tar.gz"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"path":"/home/a/file.tar.gz"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/text/path-parts", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Esempio di richiesta
{
"path": "/home/a/file.tar.gz"
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "text.path_parts",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |
Note tecniche
La calcolatrice è gratuita nel browser, deterministica e identica sul percorso API. Gli input vengono validati prima di qualsiasi aritmetica; i payload non validi falliscono con invalid_input. L'arrotondamento half-up si applica una sola volta dai risultati IEEE grezzi quando si richiedono decimali. Usi lo stesso contratto JSON da fogli di calcolo, CMS
Come funziona
La calcolatrice è gratuita nel browser, deterministica e identica sul percorso API. Gli input vengono validati prima di qualsiasi aritmetica; i payload non validi falliscono con invalid_input. L'arrotondamento half-up si applica una sola volta dai risultati IEEE grezzi quando si richiedono decimali. Usi lo stesso contratto JSON da fogli di calcolo, hook CMS, automazione o demo didattiche.
Input, limiti e arrotondamento
Fornisca i parametri obbligatori come numeri o stringhe JSON secondo la documentazione. Tipi non validi, campi obbligatori mancanti o valori fuori intervallo sollevano invalid_input con un messaggio chiaro. La calcolatrice è gratuita nel browser, deterministica e identica sul percorso API. Gli input vengono validati prima di qualsiasi aritmetica; i payload non validi falliscono con invalid_input. L'arrotondamento half-up si applica una sola volta dai risultati IEEE grezzi quando si richiedono decimali. Usi lo stesso contratto JSON da fogli di calcolo, hook CMS, automazione o demo didattiche.
Quando usarlo
La calcolatrice è gratuita nel browser, deterministica e identica sul percorso API. Gli input vengono validati prima di qualsiasi aritmetica; i payload non validi falliscono con invalid_input. L'arrotondamento half-up si applica una sola volta dai risultati IEEE grezzi quando si richiedono decimali. Usi lo stesso contratto JSON da fogli di calcolo, hook CMS, automazione o demo didattiche.
Casi di integrazione
Controllo rapido
Incolli i valori nel widget gratuito e li confronti con un foglio di calcolo.
Automazione
Chiami l'API con lo stesso contratto JSON da n8n, script o un CMS.
Didattica
Mostri la formula e gli esempi golden fissati senza software proprietario.
Domande tecniche
È gratuito nel browser?
Sì. Il livello A gira interamente lato client con lo stesso nucleo dell'API.
Cosa succede con un input errato?
L'handler solleva invalid_input; i job falliti non vengono addebitati.
Posso usarlo dall'API?
Sì. Invii gli stessi campi JSON documentati in params.