ForHosting KIT · 文章作成・要約AI

部分文字列の位置検索

「The kit parses logs: ERROR at line 12, then INFO, then ERROR again.」では、最初のERRORが位置21、1行目の22列目にあり、26の手前で終わります。ピリオドやかっこも普通の文字として探します。ブラウザで無料で使えます。

  • 無料
  • ブラウザで動作
  • 登録不要
  • データは端末の外に出ません
ご利用方法 ウェブAPIメールTelegramアプリ 近日
入力した場合
求める値
ERROR
結果
添字
21
開始
0
長さ
67
検索文字列の長さ
5

語句の最初の出現を見つけることは、ほぼすべてのテキスト処理の第一歩です。目印を特定し、その文字位置から切り出し、解析、強調します。この部分文字列位置ツールは、元のテキストと空でない検索語を受け取り、最初のリテラル一致のゼロ始まり文字インデックス、見つかったかどうか、終端の排他オフセット、エディタでジャンプするための1始まりの行と列を返します。任意の start で前回の一致の続きから再開できます。任意の大文字小文字無視は混在下書きに対応します。空の検索語は無効入力で失敗し、一括処理が空文字をすべてのオフセットの一致とみなすのを防ぎます。

部分文字列の位置を求める意味と、いつ使うか

部分文字列の位置を求めるとは、元の文字列を左から — または任意の start オフセットから — 走査し、検索語の最初の非重複リテラル一致で止まり、そのヒットの文字インデックスを報告して、後続ステップがそこから切り出し、解析、強調できるようにすることです。

一致はリテラルです。 ピリオド、括弧、角括弧を探しても正規表現構文ではなく平文として扱われるため、非開発者にも、特殊文字で驚かせてはならないパイプラインにも予測可能です。検索意図が部分文字列の位置、文字列のインデックス、最初の出現の特定、トークンの文字オフセットであるときにこの計算機を選んでください。

任意の大文字小文字無視一致は文字の大小を畳み、Hello、HELLO、hello の最初を列挙なしで捉えます。一致を書き換えたい場合は SEO 意図が異なり、最初の置換や検索置換ツールの領域です。すべての出現の一覧、キャプチャグループ、lookaround、複数行正規表現エンジンが必要な場合も本製品は向きません。

入力契約、空検索の拒否、応答の読み方

任意の start は既定ゼロで、走査を始めるゼロ始まり UTF-16 インデックスです。前回のヒットの続きから再開でき、接頭辞を再走査しません。混在下書きの先頭も一致させたいときは true にしてください。

旧クライアント向けに別名を受け付けます。一致があるときは、1 始まりの人間向け位置の position、排他終端の end、1 始まりのエディタ座標の line と column、ヒット位置の正確な切片の matched も付き、大文字小文字無視でも元の大小が分かります。一致なしは正当な成功です。

found は false、index は -1 で、針を含まない干し草の正直な結果です。残りを切るスクリプトなら index と slice。ヒットへスクロールする UI なら line と column。

目印の有無だけなら found だけで足ります。

よくある使い道と実用上の限界

貼り付け確認、授業デモ、コンテンツ QA、素早い位置特定には、デスクトップユーティリティを入れたり各言語で indexOf を書いたりせず、無料のブラウザ版・部分文字列位置ツールを呼び出してください。検証失敗はエンジン拒否後に残高を消費しません。典型フローは最初の節目印を見つけ、index と end を読み、続く見出しを切り出します。

別フローは前回の end を次の start として送り、全置換ツールなしで 2 回目以降の出現をたどります。後続ステップがそのヒットだけを書き換えるなら最初の置換と、すべての一致を変えるなら検索置換と組み合わせつつ、テキストを変える編集器と SEO 意図を混ぜないよう位置検索を独自ランディングに保ってください。

オフセットゼロのヒット、途中のヒット、start からの再開、大文字小文字無視の先頭ヒット、不一致、空検索拒否のフィクスチャを固定し、リファクタが黙って約束を変えないようにしてください。

最初のログやエラー目印を特定する

パーサとサポートツールは最初の ERROR、TODO、区切りを見つけ、ファイルを書き換えずにその文字位置から切り出すか強調します。

前回のヒットのあと走査を再開する

前回の排他 end を start として送り、テンプレート、ログ、設定ファイルで 2 回目以降の出現を一つずつたどります。

QA と決定論的フィクスチャ

テストハーネスは index、found、line、column を固定し、置換、正規表現、空 find 一致に切り替えるリファクタが継続的インテグレーションを直ちに落とすようにします。

部分文字列の位置をどう求めますか?

応答の index は最初の一致のゼロ始まり文字オフセットで、無ければ -1 です。

インデックスはゼロ始まりですか、1 始まりですか?

index はゼロ始まりで、JavaScript の String indexOf と同じ契約なので slice に渡せます。一致があるときは position がエディタで期待される 1 始まりの文字番号、line と column も 1 始まりです。

検索語が空だとどうなりますか?

空の find は拒否され、パイプラインが空文字をすべてのオフセットの一致とみなすことはありません。その失敗は課金されません。

部分文字列の位置ツールは無料ですか?

ブラウザツールはお使いの端末で無料です。検証失敗は課金されません。

find は正規表現に対応しますか?

いいえ。 検索語は常にリテラル文字列として扱われます。ピリオド、括弧、その他の正規表現メタ文字は自身に一致し、編集者と一括処理で予測可能な動きになります。

このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。

POSThttps://api.kit.forhosting.com/str/index-of

Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。

curl -X POST https://api.kit.forhosting.com/str/index-of \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text":"The kit parses logs: ERROR at line 12, then INFO, then ERROR again.","find":"ERROR"}'
{
  "text": "The kit parses logs: ERROR at line 12, then INFO, then ERROR again.",
  "find": "ERROR"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "str.index_of",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。

1リクエストあたり$0.002

単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。

max_chars100000
HTTPコード意味
401unauthorizedAPIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。
402insufficient_balance残高が不足しています。チャージ後に再度お試しください。
404unknown_type指定されたタスクタイプは存在しません。タイプ名を確認してください。
429rate_limitedリクエストが多すぎます。しばらく待ってから再度お試しください。

部分文字列の位置を求める意味と、いつ使うか

典型的な入力は、最初の ERROR 目印が必要なログ行、値を切る前にキーを見つける設定断片、見出し区切りで節が始まる HTML や markdown、区切りや引用フィールドが始まる CSV や TSV セルです。アルゴリズムは完全に決定論的で、同一入力は常に同一 JSON を返し、ネットワーク呼び出し、乱数シード、壁時計はありません。空の検索語は invalid_input を上げ、空文字を文字間の一致とみなす古典的な落とし穴から一括処理を守ります。

入力契約、空検索の拒否、応答の読み方

必須文字列フィールド text に走査したい元文、必須文字列フィールド find に空でない検索語を入れた JSON 本体を送ってください。任意の case_insensitive は既定 false(厳密な大小)。text は input、value、s、content、source、haystack も可。find は search、needle、substring、query、pattern。start は from、from_index、offset。case_insensitive は ignore_case、ci、insensitive。text 欠落、find 欠落、非文字列値、負または非整数の start、空の find は問題を名指しするメッセージ付き invalid_input となり、前払い API では課金されません。長さは十万文字に制限され、ブラウザと Worker の走査が有界に保たれます。成功時は常に、ゼロ始まり文字オフセットまたは無いときは -1 の index、真偽の found、適用した text と find、使った start と case_insensitive、文字数の length と find_length、常に index_of の method を含みます。

API の使い方、料金、ワークフロー、実用上の制限

CMS、ETL ジョブ、フォームバックエンド、サポート窓口、パーサ、モバイルクライアントが残高下で同じ位置特定を必要とするときは前払い KIT API を使い、成功 1 件あたり $0.002 です。タグを飛ばす HTML 認識、構造化文書のマージフィールド、書記素クラスタのインデックス、標準 ignore-case を超えるロケール固有照合は別問題です。SDK を出す作者は text と find を必須と文書化し、最初のインデックスだけ返る複数一致ソースと空 find エラー例の両方を示せます。

KITの完全なドキュメントを見る →