行をスペースでインデント
helloとworldを4つの空白でインデントすると、2行とも右にずれ、合計8文字が加わります。空行にも同じ空白が付き、元からあるインデントは残り、行の中身は変わりません。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- テキスト
- hello world
- スペース数
- 4
- 入力
- hello world
- テキスト
- hello world
- 行数
- 2
- 行
- hello, world
行単位のインデントツールは、貼り付けたテキストの各行の先頭に固定個数の ASCII スペースを付与し、入れ子のコードブロック、引用、階層リストを IDE を開かずに揃えられます。空でない複数行文字列—ソース断片、チャットのダンプ、Markdown 下書き、ログ抜粋—と先頭スペースの整数を入力すると、ツールは改行を正規化し、改行で分割し、各行に同じスペース列を前置し、行の残りはそのまま残します。書き手、開発者、ドキュメント著者、サポート担当は、別ブロックの下に内容を入れ子にするときや、スタイルガイドが 4 スペースのずらしを求めるときに、同じ行単位ルールが必要です。
行単位のスペースインデントの意味と使う場面
多くのエディタは選択範囲を、各選択行の先頭にスペースやタブを挿入してインデントします。テキストと、0 から 200 の非負整数 spaces を指定します。Windows の CRLF と古い CR を単一の LF に正規化したあと、文字列を LF で分割し、空行を含む各セグメントにその個数の ASCII スペース文字を前置し、再び LF で結合します。
既に行頭にあるスペースは残します。ツールは常に要求された量を足し、目標桁への再インデントはしないため、すでに 2 スペースあるブロックをさらに 4 スペースの下に入れ子にすると、それらの行は 6 スペースになります。単語間の内部スペースはそのままです。
末尾内容はトリムも折りたたみもしません。spaces が 0 のときは余分な前置なしで改行正規化後のテキストを返し、内容をずらさずパイプラインを試すのに役立ちます。全体が空または空白のみの入力は硬エラーです。
spaces 欠落、非整数、負値、200 超も検証に失敗します。検索意図が「行をスペースでインデント」「各行に先頭スペースを追加」「Markdown やメール引用の下に複数行を入れ子」のときに本ツールを選び、短い文字列を固定幅にパッドするだけの用途には向きません。
実践的なヒント、制限、関連検索
検索意図が「行をスペースでインデント」「複数行に先頭スペースを追加」「コードブロックをオンラインでインデント」「固定スペース列で引用テキストを入れ子」のときに本機能を使います。テストの往復確認は容易です。言語対応フォーマッタは対象外です。
本ツールは要求されたリテラルスペース以外に Python や YAML のインデント深さの意味を知らず、タブも変換しません。HTML や Markdown のソースも送った文字列の各生行をインデントします。レンダリング後のテキストが重要なら先にタグを除いてください。
学生やレビュア向けには、spaces を 2 と 4 にした同じサンプルの前後を示し、各行の先頭だけが伸び単語内部の間隔は触られないことを見せます。
活用例
ドキュメント下にコード例を入れ子にする
ドキュメント著者はスニペットを貼り付け、各行を 4 スペースでインデントし、Markdown や reStructuredText がリスト項目下の入れ子コードとして扱うようにします。
チケットで複数行の返信を引用する
サポート担当は顧客の貼り付けを 2 スペース(以上)でインデントしてから引用スタイルで包み、入れ子の会話スレッドを読みやすく保ちます。
テキスト前処理の単体テスト
既知の正しいインデント済み複数行フィクスチャと、空入力や不正な件数の拒否を、エディタ・ETL 段・markdown パイプライン向けに生成します。
よくある質問
タブをスペースに変換しますか?
いいえ。 ASCII スペース文字を前置するだけです。行内や行頭の既存タブはそのままです。
空入力ではどうなりますか?
空白以外の文字を少なくとも 1 つ含む非空文字列を指定してください。
空行もインデントされますか?
はい。 分割後のすべての行—空行を含む—に同じ先頭スペース前置が付き、ブロック構造の一貫性を保ちます。
Windows の改行はどう扱われますか?
CRLF と単独の CR は分割前に LF へ正規化され、同じ貼り付けがどのプラットフォームでも同じ結果になります。
すでにインデントされている行はどうなりますか?
元の空白はそのまま残り、指定した数の空白が追加されます。決まった位置にそろえ直すわけではないので、空白2つの行を4つでインデントすると6つになります。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/str/indent-lines \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"hello\nworld","spaces":4}'const res = await fetch("https://api.kit.forhosting.com/str/indent-lines", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "hello\nworld",
"spaces": 4
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/str/indent-lines",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "hello\nworld",
"spaces": 4
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/str/indent-lines", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"hello\\nworld","spaces":4}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"hello\nworld","spaces":4}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/str/indent-lines", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"text": "hello\nworld",
"spaces": 4
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "str.indent_lines",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
空入力や空白のみの入力は明確な invalid_input で拒否され、自動化が空の貼り付けを成功したインデントと扱うことはありません。経路は純粋で決定的な文字列処理であり、ネットワークも乱数も壁時計にも依存しないため、無料のブラウザ実行と前払い API は毎回同じ JSON を返します。
行単位のスペースインデントの意味と使う場面
本機能は同じ作業を、焦点を絞った API 向け変換として行います。意味のあるインデント文書がなく、呼び出し側は 0 行成功ではなく invalid_input として扱うべきです。
API の呼び出し方と応答の内容
spaces は 0 から 200 までの有限整数である必要があります。真の行単位意味論が欲しいときは、行を事前結合せず生の複数行本体を送ってください。必須文字列フィールド text(別名 input, value, string, s, content, body)と必須整数フィールド spaces(別名 n, indent, count, amount, pad)を含む JSON 本体を送信します。text は全体トリム後に空でなく、巨大な貼り付けで Worker やブラウザのメモリを使い果たさないよう 10 万文字を超えてはいけません。成功時の応答は、送信した元文字列を input、適用した正規化整数を spaces、LF で結合した完全インデント結果を text、分割後の行数(空行含む)を line_count、インデント済み行文字列の順序付き配列を lines、元とインデント後の長さを chars_before と chars_after、前置が加えた文字数の合計を chars_added(通常は line_count と spaces の積で、改行正規化で元が短くなった場合は調整)、行数・spaces・追加文字を報告する短い英語の message を返します。text 欠落、非文字列、過大ペイロード、全体トリム後の空内容、無効な spaces は invalid_input を返し課金されません。料金は成功リクエストごとに定額 $0.002、単位は item です。統合時はインデント結果を text または lines で検証し、必要なら chars_added を回帰比較し、空フォーム送信の invalid_input は課金イベントではなくクライアント不具合として扱います。
実践的なヒント、制限、関連検索
spaces を 4 にした 2 行を送り各行が 4 スペースで始まることを期待し、内容の間に空行を入れてその空行も同じ前置を持つことを確認し、空文字や空白のみを意図的に送って invalid_input と非空文字列を求めるメッセージを確認し、負の spaces や小数を送って件数フィールドの invalid_input を確認します。スペースを足す代わりに行ごとに前後の空白を除きたい場合は姉妹の行トリムツールを、1 本の文字列を左右の埋め文字で総幅にパッドしたい場合は文字列パッドを、構造インデント付きの整形 JSON が必要なら JSON フォーマッタを使います。invalid_input を返す失敗タスクは前払い残高を消費せず、フォーム検証と CI の負テストを安く保てます。API で大きなダンプを送るときは、上記の文字数と spaces 上限を守ってください。
技術的な質問
行インデントツールは無料ですか?
ブラウザ版は無料でローカル実行です。API 呼び出しは成功リクエストごとに $0.002 で KIT の前払い残高を使い、失敗タスクは課金されません。