最初の出現を置換
「one two one three one」で最初の「one」を「FIRST」に置き換えると「FIRST two one three one」になり、2つ目以降はそのまま残ります。検索は文字どおりで、大文字・小文字を区別しない設定も選べます。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- テキスト
- one two one three one
- 求める値
- one
- 置換後
- FIRST
- 結果
- FIRST two one three one
- テキスト
- FIRST two one three one
- 元の値
- one two one three one
- 数量
- 1
編集者、エンジニア、自動化パイプラインでは、語やトークンの最初の言及だけを変え、それ以降の出現は触らないという精密な編集がしばしば必要です。全体の検索置換は文書全体を書き換えるため、まだ必要な例文、ログ、製品名を壊すことがあります。任意の大文字小文字無視フラグは、後続の形をすべて走査せずに最初の Hello や HELLO だけを変える混在下書きに対応します。空の検索語は invalid input で失敗し、一括処理が黙って no-op になるのを防ぎます。見出し、最初のブランド言及、テンプレートトークン、決定論的フィクスチャにご利用ください。
最初の出現の置換とは何か、いつ使うか
最初の出現の置換とは、元の文字列を左から走査し、検索語の最初の非重複一致で止まり、その 1 か所だけに置換文字列を書き、それ以降の一致はすべて触らないことです。置換が空なら最初のヒットだけを削除します。
一致はリテラルです。 ピリオドや括弧を探しても正規表現構文ではなく平文として扱われるため、非開発者にも、特殊文字で驚かせてはならないパイプラインにも予測可能です。検索意図が最初の出現の置換、最初の一致だけを入れ替え、最初の部分文字列の編集、全体リネームなしで最初のトークン変更であるときにこの計算機を選んでください。
典型的な入力は、先頭の製品名だけ更新したい文書タイトル、デモ用に最初のエラーコードを書き換えるログ行、先頭にレガシー接頭辞がある CSV セル、先頭に一度だけ誤字があり後は正しいメモです。任意の大文字小文字無視一致は文字の大小を畳み、Hello、HELLO、hello の最初を列挙なしで捉えます。
すべての一致を置換したい場合は SEO 意図が異なり、一括検索置換ツールの領域です。キャプチャグループ、lookaround、複数行正規表現エンジンが必要な場合も本製品は向きません。
よくある使い方と実用上の制限
貼り付け整理、授業デモ、コンテンツ QA、単一ヒットの素早い改名には、デスクトップユーティリティを入れたり各言語で indexOf と slice を書いたりせず、無料のブラウザ版・最初の出現置換ツールを呼び出してください。検証失敗はエンジン拒否後に残高を消費しません。
典型フローは製品説明の最初のブランド言及だけを改名し、後続の例名を残したまま count が 1 で index が期待オフセットを指すか確認します。後続ステップが本当に全一致を要する場合は完全な検索置換と組み合わせつつ、SEO 意図を replace-all と混ぜないよう replace-first を独自ランディングに保ってください。
0 件・1 件・最初だけ変わる多数一致・大文字小文字無視の先頭ヒット・空検索拒否のフィクスチャを固定し、リファクタが黙って約束を変えないようにしてください。
活用例
最初のブランド名・製品名だけ
マーケティング文の先頭の製品名を更新し、後続の例名、SKU、デモ用文字列はそのまま残します。
テンプレート先頭トークンの整理
マクロ、メール断片、設定行で、最初のプレースホルダトークンやレガシー接頭辞だけを削除または書き換えます。
よくある質問
部分文字列の最初の出現だけをどう置換しますか?
任意の replace が置換(既定は空で最初の一致を削除)です。応答に result、count、index が含まれます。
検索語が空だとどうなりますか?
空の find は拒否され、パイプラインが黙った no-op や空文字置換の落とし穴に陥りません。これらの失敗は課金されません。
すべてを検索置換する機能と何が違いますか?
本ツールは最初の一致だけを変え、後続は触りません。一括の検索置換はすべての出現を入れ替えます。精密な単発編集には replace-first を使ってください。
find は正規表現に対応しますか?
いいえ。 検索語は常にリテラル文字列です。ピリオド、括弧、その他の正規表現メタ文字は自分自身に一致し、編集者や一括処理でも挙動が予測可能です。
大文字・小文字を区別せずに最初の出現を探せますか?
はい、大文字・小文字を区別しない設定を有効にすると、Hello、HELLO、helloのどれであっても最初の1つが置き換わります。初期設定では表記を厳密に区別します。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/str/replace-first \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"one two one three one","find":"one"}'const res = await fetch("https://api.kit.forhosting.com/str/replace-first", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "one two one three one",
"find": "one"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/str/replace-first",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "one two one three one",
"find": "one"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/str/replace-first", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"one two one three one","find":"one"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"one two one three one","find":"one"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/str/replace-first", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"text": "one two one three one",
"find": "one"
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "str.replace_first",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
この最初の出現を置換するツールは、元の文字列、空でない検索語、任意の置換文字列を受け取り、最初のリテラル一致だけを差し替え、結果、一致回数、文字位置、元文字列のエコー、適用した語を含む安定した JSON 契約を返します。
最初の出現の置換とは何か、いつ使うか
アルゴリズムは完全に決定論的で、同一入力は常に同一 JSON を返し、ネットワーク呼び出し、乱数シード、壁時計はありません。空の検索語は invalid_input を上げ、空文字を文字間の一致とみなす古典的な落とし穴から一括処理を守ります。
入力契約、空検索の拒否、応答の読み方
任意の replace は既定で空文字で、最初の一致だけを削除します。混在下書きの先頭も一致させたいときは true にしてください。旧クライアント向けに別名を受け付けます。きれいな文字列だけなら result だけで足ります。編集の有無と位置をログするなら count と index。前後比較デモなら original と result を併用してください。元テキストは他の KIT parse 項目と同じ保持規則に従います。必須文字列フィールド text に編集したい元文、必須文字列フィールド find に空でない検索語を入れた JSON 本体を送ってください。任意の case_insensitive は既定 false(厳密な大小)。text は input、value、s、content、source も可。find は search、needle、from、old。replace は replacement、with、to、new。case_insensitive は ignore_case、ci、insensitive。text 欠落、find 欠落、非文字列値、空の find は問題を名指しするメッセージ付き invalid_input となり、前払い API では課金されません。ペイロードは Worker isolate 向けの句・段落・短い文書サイズに留め、数メガバイト級のダンプは避けてください。
API の使い方、料金、ワークフロー、実用上の制限
CMS、ETL ジョブ、フォームバックエンド、サポート窓口、モバイルクライアントが残高下で同じ変換を必要とするときは前払い KIT API を使い、成功 1 件あたり $0.002 です。別フローは空の replace で先頭の廃止トークンを削除するか、検索インデックス前に case_insensitive true で最初の混在大小を正規化します。タグを飛ばす HTML 認識リライト、構造化文書のマージフィールド、標準 ignore-case を超えるロケール固有照合は別問題です。SDK を出す作者は text と find を必須と文書化し、最初だけ変わる複数一致ソースと空 find エラー例の両方を示せます。
連携の活用例
QA と決定論的フィクスチャ
テストハーネスが replace-first のゴールデン出力を固定し、replace-all への切替や空 find 拒否の変更が即 CI 失敗になるようにします。
技術的な質問
最初の出現を置換するツールは無料ですか?
ブラウザツールはお使いの端末で無料です。API 呼び出しは成功 1 件あたり $0.002 の前払い KIT 残高を使い、検証失敗は課金されません。