ForHosting KIT · 開発者向けツール

文字列に部分文字列が含まれるか確認し位置を取得

この文字列チェック機能は、テキストに期待する部分文字列が含まれているかという一般的な検証を明確に行います。一致の有無を真偽値で返し、最初に一致した位置をゼロから数えた値で示します。一致しない場合は -1 です。大文字と小文字を厳密に区別するか、同一として扱うかも選択できます。結果は決定論的でテストしやすく、正規表現やあいまい検索を使わずに、処理フローへ素早い検索条件を組み込む場合に便利です。

● Beta無料・ブラウザ内で実行
ご利用方法 ウェブAPIメールTelegramアプリ 近日

部分文字列を明確な結果で確認します

調べる値全体を text に、見つけたい並びを substring に指定します。応答の contains は一致がある場合に true となり、position は最初の一致が始まる場所を示します。位置はゼロから数えるため、先頭で一致した場合は 0 です。一致がなければ false と -1 が返されるので、先頭での一致と不一致を明確に区別できます。この組み合わせは、人が結果を読む場合にも、ソフトウェアが条件分岐に使う場合にも扱いやすい形式です。検索対象は連続したリテラル文字列です。空白、句読点、繰り返し文字はパターンではなく通常の文字として扱われるため、正規表現用のエスケープは必要ありません。同じ部分文字列が複数回現れても、報告されるのは最初の位置だけです。期待するマーカーの有無や、後続の解析を開始できる場所を確認する検証に適しています。空の部分文字列は、技術的にはすべての文字列に含まれてしまい、実用的な検証結果にならないため受け付けません。

大文字と小文字を区別するか選択します

case_sensitive の既定値は true です。このモードでは大文字と小文字が完全に一致する必要があり、「Ready」を検索しても「ready」には一致しません。識別子、プロトコルのマーカー、製品コードなど、文字の大小に意味がある内容には厳密な比較が適しています。利用者が入力したメモからステータス語を探す場合や、見出しに特定の語句が含まれるかを確認する場合など、大小の違いを同一視したいときは false を指定します。大文字と小文字を区別しないモードでは、元のテキストと部分文字列を同じ方法で正規化してから最初の一致を探しますが、返される位置は元のテキストを基準にしています。この機能は前後の空白を削除せず、句読点も変更しないため、それらは比較上の意味を保ちます。アクセント記号の同一視、語幹処理、翻字、あいまい比較、単語全体の判定も行いません。たとえば「cat」は「catalog」の先頭 3 文字に一致します。規則を限定することで、暗黙の言語的推測を避け、再現可能な結果を提供します。

検証フローで位置を安全に利用します

一般的なフローでは、候補値を送信して contains を確認し、数値フィールドを解釈せずに処理を分岐できます。一致した場合の position は、診断、プレビュー、後続の解析処理に利用できます。たとえば、インポート時にヘッダーへ必須トークンが含まれることを確認して開始位置を記録したり、生成文に承認済みの表現があるかをテストしたり、貼り付けられたログ行から既知のマーカーを検出したりできます。返される位置は、UTF-16 コード単位で数えた JavaScript の文字列インデックスとして扱ってください。通常のラテン文字では一般的な文字数と一致しますが、一部の絵文字やまれな Unicode 記号は 2 単位を使用します。ブラウザーと API の動作を同一にし、JavaScript の切り出しメソッドで直接利用できるように、プラットフォーム固有のインデックスを意図的に返しています。これはリテラル検索であり、セキュリティ対策用の無害化機能や内容分類器ではありません。マークアップやコマンドなどの機密性が高い形式では構造を別途検証し、境界、エスケープ規則、複数の一致が重要な場合は専用のパーサーをご利用ください。

生成された文章を検証

公開前に、生成メッセージへ必須の注意事項や承認済みの表現が含まれることを確認します。

インポート用マーカーを確認

貼り付けたヘッダーやレコードに期待するトークンがあるかを調べ、解析を開始できる位置を確認します。

ラベルとステータス表示をテスト

大文字と小文字の区別を選び、アプリケーション出力に既知のラベルが含まれることを検証します。

結果には何が含まれますか?

一致の有無、最初の一致をゼロから数えた位置、使用した大文字・小文字の設定が返されます。

一致しない場合はどの位置が返されますか?

position は -1、contains は false です。先頭で一致した場合は position が 0 になります。

既定では大文字と小文字を区別しますか?

はい。大文字と小文字を同一視する場合は case_sensitive を false に設定してください。

部分文字列に正規表現を使用できますか?

いいえ。リテラル文字列として扱うため、句読点や記号にパターン構文としての意味はありません。

空の部分文字列を検索できますか?

いいえ。空文字列は常に一致し、検証にはほとんど役立たないため受け付けません。

API リクエストの料金はいくらですか?

API リクエスト 1 件の料金は $0.002 です。同じ決定論的な処理をブラウザーでも実行できます。

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

POSThttps://api.kit.forhosting.com/str/contains

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

curl -X POST https://api.kit.forhosting.com/str/contains \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text":"Release candidate passed validation.","substring":"passed"}'
{
  "text": "Release candidate passed validation.",
  "substring": "passed"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "str.contains",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

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

1リクエストあたり$0.002

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

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

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