中央で切り詰め
62文字のパスを36文字に収めても両端は残ります。/Users/alex/Docum...engines/parse.jsのように、最上位のフォルダーとファイル名が見えたままです。省略記号も長さに含まれ、先頭を何文字残すかも選べます。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 長さ
- 36
- テキスト
- /Users/alex/Docum...engines/parse.js
- 元の長さ
- 62
- 結果の長さ
- 36
- 省略記号
- ...
中央切り詰めは、表示したい長さに収まるよう文字列の中央を取り除き、省略記号を挿入して先頭と末尾を読めるままにする手法です。ファイルマネージャ、端末、パンくず、ログビューア、表のセルは、パスやファイル名が列に収まらないときにこの形を使います。ルートディレクトリと実ファイル、あるいは UUID の先頭と末尾の数字が残ります。対象の文字列と結果が守るべき整数の長さを入力し、必要なら先頭に残す文字数と挿入する省略記号も選べます。解決器は短縮後の文字列、残した接頭辞と接尾辞、切断の有無、元の長さと結果の長さ、短いメッセージを返します。
中央切り詰めが接頭辞カットとどう違うか
中央切り詰めは、通常の接頭辞切り詰めとは形の違う、厳しい表示制約です。接頭辞カットは元の先頭だけを残して末尾に省略記号を付けます。文や見出しには向きますが、パスやファイル名で人が必要とする部分、つまり葉の名前、拡張子、最後のフォルダ、識別子の末尾数字を隠してしまいます。
中央を切り詰めると、内部の連続した区間を取り除き、残した接頭辞と接尾辞のあいだに省略記号を入れるので、両方の錨が残ります。送る最大長は、切断が必要なときに省略記号を含めた結果全体の最大長です。元がすでに収まる場合、ツールはそれを変えずに返し、truncated を false にし、全文を start に置き、end を空にします。
呼び出し側は、隠れている続きがあるかのような UI を出せます。収まらない場合、解決器は length から省略記号の長さを引いた内容予算を計算します。head を省略すると、その予算はできるだけ均等に分かれ、余った 1 文字は先頭側に付きます。
head を指定すると、その文字数だけ先頭を残し(予算で頭打ち)、残りの予算は末尾に回ります。長いファイル名で拡張子を残しつつ、短いディレクトリの手がかりも見せたいときのやり方です。1 未満の長さは受け付けません。
幅ゼロのプレビューは表、パンくず、ログの契約として役に立たず、負の上限は常にクライアントの不具合です。有効な長さ付きの空文字は空のまま、省略記号なしで返るので、任意のパス欄が空なだけで流れが落ちることはありません。
パスとファイル名の実践的なコツ、関連する検索
検索意図が「中央で切り詰め」「ファイル名を省略記号で短くする」「パスの先頭と末尾をオンラインで見せる」であるときに、この能力を使ってください。試験の往復確認は簡単です。同じパスで head を 12 にすれば、予算が許すとき接頭辞はちょうどその 12 文字です。
一般の識別子や UUID には均等分割を、拡張子付きの報告書のように末尾が大切なら小さな head を、ホスト名やドライブ文字のように先頭を隠したくないなら大きな head を選んでください。Unicode の水平省略記号 1 字、空白付き中黒、角括弧の続きラベルなど、独自の省略記号も、長さが予算に収まるなら使えます。
このページは AI 要約でも、文の接頭辞だけを切る道具でも、段落や語の計数でも、ドットやホームを解決するパス正規化でもありません。文の冒頭だけを残すと製品が決めたなら接頭辞切り詰めを、意味を保った圧縮が要るなら LLM 短縮を、固定の文字格子の中でパス・ファイル名・URL・識別子の両端を人が見分ける必要があるならこの能力を選んでください。
レビュー担当には、同じ長いパスを均等分割と head 指定の両方で見せてください。切る位置と start・end だけが変わり、長さと省略記号の規則は同じだと分かります。
活用例
ファイルマネージャの列とパンくず
長い絶対パスを抑え、表やパンくずがルートと葉のファイル名を残すようにします。末尾の省略記号の陰に拡張子を隠しません。
ログビューアと CI 成果物名
ビルド成果物のパスやアップロードした報告名を固定幅のログ行に収め、最後のフォルダと拡張子を読めるままにします。
パス整形の単体試験
既知の中央切り詰め、head 寄りの切断、1 未満の長さの拒否を、フロントの補助や保管 UI 向けに生成します。
よくある質問
中央切り詰めは何を残すと決めるのですか?
最大長から省略記号の長さを引き、その予算を埋める接頭辞と接尾辞を残します。head を省けば偶数分割(余った 1 文字は先頭)、head を指定すれば先頭に残す文字数を固定できます。
末尾で切り詰めるのと同じですか?
違います。 末尾切り詰めは接尾辞を隠します。中央切り詰めは、固定長の中で先頭と末尾の両方を見せたいパス、ファイル名、識別子向けです。
length が 0 のとき、または省略記号が収まらないときは?
length は 1 以上の整数で、切断が必要なとき省略記号はその長さを超えてはなりません。失敗した作業は課金されません。
ディレクトリよりファイル名を多く残せますか?
はい。 head を小さな整数にすると、残りの予算の大半が末尾に回ります。拡張子や葉の名前を人が見分ける必要があるときの定番です。
先頭が末尾より1文字長くなるのはなぜですか?
残せる文字数を前後で均等に分け、割り切れずに余った1文字を先頭に回すためです。例では先頭に17文字、末尾に16文字が残ります。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/str/truncate-middle \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"/Users/alex/Documents/projects/kit-taller/src/engines/parse.js","length":36}'const res = await fetch("https://api.kit.forhosting.com/str/truncate-middle", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "/Users/alex/Documents/projects/kit-taller/src/engines/parse.js",
"length": 36
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/str/truncate-middle",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "/Users/alex/Documents/projects/kit-taller/src/engines/parse.js",
"length": 36
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/str/truncate-middle", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"/Users/alex/Documents/projects/kit-taller/src/engines/parse.js","length":36}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"/Users/alex/Documents/projects/kit-taller/src/engines/parse.js","length":36}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/str/truncate-middle", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"text": "/Users/alex/Documents/projects/kit-taller/src/engines/parse.js",
"length": 36
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "str.truncate_middle",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
制限
max_chars | 100000 |
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
1 未満の長さは invalid_input で拒否されるため、フォーム検証や CI がゼロや負の上限を成功扱いすることはありません。処理はネットワークも乱数も時計にも依存しない決定的な文字列論理なので、無料のブラウザ実行とプリペイド API は呼び出すたびに同じ JSON を返します。
API の呼び方と応答に含まれるもの
切断が必要なとき省略記号が length より長いと、欠けた印をでっち上げず要求は失敗します。text は 10 万文字以内に収めてください。プロポーショナルフォントの字形幅を測る必要がある場合は、呼び出し側のレイアウトと組み合わせてください。この端点は描画ピクセルではなく JavaScript の文字列添字を数えます。サーバ側のパス整形の多くがすでに使っている契約と同じです。必須の text(別名 input、value、string、s、content、body)と必須の length(別名 max_length、max、n、limit、max_len)を含む JSON 本体を送ってください。length は 1 以上 10 万以下の整数で、1 未満、非整数、過大な上限は invalid_input です。任意の head(別名 start、keep_start、prefix)は先頭に残したい文字数を示す非負整数で、省略すれば均等分割になります。任意の ellipsis(別名 marker、separator、gap)の既定は ASCII のドット 3 つで、最大 32 文字の任意文字列です。1 件で Worker やブラウザのメモリを使い果たさないためです。成功時の応答は、元の文字列を input、表示用の最終文字列を text、要求した最大を length、文字数を original_length と result_length、真偽を truncated、使った印を ellipsis、残した接頭辞を start、残した接尾辞を end、短い英語要約を message として返します。text や length の欠落、文字列でない text、整数でないまたは 1 未満の length、負の head、過大なペイロード、切断が必要なのに収まらない省略記号は invalid_input を返し、課金されません。料金は成功した要求 1 件あたり定額の $0.002 で、単位は item です。
パスとファイル名の実践的なコツ、関連する検索
長い絶対パスを長さ 36 で送れば truncated は true、start と end は空でなく、result_length は高々 36 です。length を 0 または負の整数にすると、1 未満の長さを述べる invalid_input になります。invalid_input を返す失敗した作業は前払い残高を消費しないので、フォーム検証と CI の否定試験は安く済みます。
技術的な質問
中央切り詰めツールは無料ですか。
ブラウザのツールは無料で、手元で動きます。API 呼び出しは成功した要求 1 件あたり $0.002 の KIT 前払い残高を使い、失敗した作業は課金されません。