テキストの先頭行を削除
CSVを貼り付けると、ヘッダー行のname,age,cityが消え、Ada,36,LondonとBob,41,Parisのデータ行だけが残ります。2行目以降は改行も含めてそのままです。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- テキスト
- name,age,city Ada,36,London Bob,41,Paris
- 結果
- Ada,36,London Bob,41,Paris
- 最初の行
- name,age,city
- 最初の行の長さ
- 13
- 結果の長さ
- 26
貼り付けたデータはほぼ常に先頭に余分な1行が付いています。CSVヘッダー、表のタイトル、レポートの見出し、次のツールが必要としない列名行などです。エディタで手作業でその行を消すのは遅く誤りやすく、スクリプトやパイプラインで同じパターンが繰り返されると自動化しにくくなります。本機能は、ご提供いただいたテキストを受け取り、実務で使われる改行(WindowsのCRLF、UnixのLF、古典的MacのCR)で先頭行を特定し、その先頭行だけを削除して、最初の改行より後ろをそのまま返します。1行だけの入力も受け付け、余りは空文字列になります。本体なしで届くソースを安全に連結できます。
先頭行削除が内部でどう動くか
先頭行の削除は短い決定的な走査であり、本格的な文書エディタでも表計算インポータでもありません。次に固定優先度で最初の改行列を探します。2文字のWindows CRLF対は1回の改行として扱い、Excelから書き出したCSVが最初のデータ行に孤立した復帰文字を残さないようにします。
その対がなければ単独のLFまたは単独のCRを使います。入力に改行が全くない場合、文字列全体を先頭行とみなし、結果は空文字列になります。これは意図した成功でありエラーではありません。
タイトルだけの貼り付けを落とすときは失敗ではなく何も残すべきだからです。先頭行のソフトスペース、タブ、空白内容に特別扱いはありません。空白の先頭行も削除対象の行として数え、データ上に空行を貼った場合に正しい動作です。
経路は文字列上の純粋なparseであるため、典型的なフォームサイズではレイテンシはサブミリ秒に保たれ、公開コストモデルはモデルトークンベースではなく解析的です。
先頭行削除ツールが実務で使われる場面
CSVやTSVエクスポートを整えるデータエンジニアは、すでにスキーマがあるウェアハウス段階へ載せる前や、純粋なデータ行を期待するパーサへ渡す前に、列名行を消す必要があります。アナリストは表の選択をチャットやチケットに貼り、同僚が値だけを見るようヘッダーを落としたいと考えます。
サポートと運用チームはインシデント貼り付けから人が読めるタイトル行を取り除き、本文を自動分類器へ付けます。キュー・プロンプト・多段変換を組み立てる自動化スクリプトは、前段が常に状態バナーを出すときに先頭行を落とします。
後から行順の反転、重複行の削除、全改行の1行結合、行数カウント、各行のtrimが必要なら、この先頭行削除ページに詰め込まず、別の検索意図とランディングとして扱ってください。
活用例
CSV・TSVのヘッダー行を除去
貼り付けたエクスポートから列名行を落とし、表を開き直さずにローダーとスクリプトが純粋なデータ行だけを受け取るようにします。
貼り付けレポートからタイトルを削除
ログ・チケット・文書の貼り付けから先頭のタイトルやラベル行を切り取り、本文の保存や分類の前に整えます。
多段ETL入力を正規化
上流が常にバナーやヘッダーを出すパイプラインで、各バッチが先頭行をちょうど1行だけ失うことを保証します。
よくある質問
先頭行とは何を指しますか?
テキスト先頭から、最初の改行を含まない直前までです。最初の改行はWindowsのCRLF(1単位)、UnixのLF、古典的MacのCRのいずれかです。その改行より後ろはすべてresultに返されます。
残りの改行は変わりますか?
いいえ。 切断点として使うのは最初の改行だけです。残りは部分文字列として返されるため、先頭行以降のCRLFやLFは元のままです。
CSVのヘッダー行を消すにはどうすればよいですか?
データを貼り付けるだけで、列名が並ぶ先頭行が削除され、その下の行はそのまま返ります。Excelから書き出したファイルでも、最初のデータ行に見えない文字が残ることはありません。
1行だけのテキストを入れるとどうなりますか?
その1行が先頭行として削除され、結果は空になります。タイトルだけを貼り付けた場合でもエラーにはならず、何も残らないのが正しい動作です。
先頭が空行の場合も削除されますか?
はい、空行やスペースだけの行も先頭行として扱われ、削除されます。データの上に空の行まで貼り付けてしまったときに、その空行だけを取り除けます。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/str/remove-first-line \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"name,age,city\nAda,36,London\nBob,41,Paris"}'const res = await fetch("https://api.kit.forhosting.com/str/remove-first-line", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "name,age,city\nAda,36,London\nBob,41,Paris"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/str/remove-first-line",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "name,age,city\nAda,36,London\nBob,41,Paris"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/str/remove-first-line", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"name,age,city\\nAda,36,London\\nBob,41,Paris"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"name,age,city\nAda,36,London\nBob,41,Paris"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/str/remove-first-line", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"text": "name,age,city\nAda,36,London\nBob,41,Paris"
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "str.remove_first_line",
"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エラーで拒否され、欠けたフィールドが成功を装わずに失敗します。エンジン内のネットワーク呼び出し、乱数シード、時計依存はなく、同一テキストは常に同一のJSONを$0.002(成功したAPI項目ごと)で生成します。
先頭行削除が内部でどう動くか
エンジンは必須かつ空でないtextフィールドを読み取り、古いクライアントがそれらの名前を使う場合はinput、value、data、content、bodyなどの一般的な別名でも解決します。その最初の改行より前がfirst_line、後ろがresultになり、残りの元の改行は厳密に保持されるため、CRLFとLFを区別する下流ツールも期待どおりの形を保てます。文書化された文字上限を超える極端に長いペイロードはinvalid_inputで失敗し、1リクエストがWorkerメモリを独占しないようにします。
送信内容と返却内容
最初の改行以降の混在した終端はそのままです。切断点として消費されるのは最初の改行だけで、残りは忠実な部分文字列です。textの数値と真偽値は十進またはtrue/false形式に強制変換され、オブジェクト、配列、NaN、Infinityは拒否されます。先頭行を削除したい空でない文字列を、必須フィールドtextに1つ送ってください。成功時、応答は元のtext、resultに残った本文、削除されたfirst_line、手早いアサート用のfirst_line_lengthとresult_length、original_length、生き残った論理行数を検証するためのoriginal_line_countとremaining_line_count、改行がなければnull、あればlf・crlf・crのbreak_kind、真偽のchangedフラグ、remove_first_lineに設定されたoperationを返します。典型的な確認には、ヘッダーと2データ行の3行CSVが2データ行だけを返す例、段落の上のタイトル行が段落だけになる例、1行文字列がremaining_line_countゼロの空resultになる例があります。空のtextは変換前に検証失敗し、フィールドを結び付け忘れたクライアントが黙った空ペイロードではなく明確なエラーを得ます。無料のブラウザフォームで素早く貼ってコピーし、一括エクスポート・ログダンプ・API応答からヘッダーを落とすときはスクリプトから同一契約を呼んでください。成功したAPI呼び出しの料金は項目あたり公開ベースの$0.002で、空textを含む検証失敗は前払い残高を消費しません。
先頭行削除ツールが実務で使われる場面
コンテンツチームは、独自のタイトル属性を持つCMSフィールドに本文を保存する前に、markdownのH1や貼り付け文書タイトルを外します。本機能は純粋なparseエンジンのため、API料金は成功項目あたり公開ベースの$0.002で、検証失敗は残高を消費しません。
技術的な質問
テキストが1行だけの場合は?
その文字列全体がfirst_lineとなり、resultは空文字列です。これは成功応答でありエラーではないため、1行の貼り付けでパイプラインは失敗しません。
textが空の場合はどうなりますか?
リクエストはinvalid_inputで失敗します。空入力はクライアントエラーとして扱い、フィールドを結び付け忘れた呼び出し元が黙った空結果ではなく明確な検証を得ます。
料金はいくらですか?
ブラウザツールは無料でローカル実行です。APIリクエストは前払いKIT残高を成功項目あたり$0.002で使用し、無効入力は課金されません。