センテンスケース変換
「hello world. this is a TEST.」は「Hello world. This is a test.」になり、2つの文がそれぞれ大文字で始まり、ほかはすべて小文字になります。大文字だらけのレビューや下書き、定型の返信を一度で整えられます。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- テキスト
- hello world. this is a TEST.
- 結果
- Hello world. This is a test.
- テキスト
- Hello world. This is a test.
- 元の入力
- hello world. this is a TEST.
- 長さ
- 28
センテンスケースは日常の散文の書き方です。各文の先頭文字だけが大文字で、それ以外は小文字です(後でハウススタイルが固有名詞を戻す場合を除く)。執筆者、編集者、サポートチーム、製品UIは常に全大文字の貼り付け、タイトルケースの見出し、大文字小文字が混在した下書きを受け取り、公開前に一度の決定的な整形が必要です。
センテンスケースの意味と文の検出方法
センテンスケースはタイトルケースでも叫び書きでもありません。タイトルケースは多くの語を大文字にし、叫び書きはすべての文字を大文字のままにし、センテンスケースはストリームをリセットして文頭だけを上げます。この変換器はまず文字列全体を小文字にして残存する大文字を消し、その後文字を一度走査します。
テキスト全体の最初のアルファベット文字を大文字にします。ASCIIのピリオド・感嘆符・疑問符のそれぞれ後では、終端記号とその文字の間に空白・タブ・改行があっても、次のアルファベット文字を再び大文字にします。数字・記号・空白は位置を保ち、大文字小文字が変わるのは文字だけです。
hello world. how are you?のような複数文の段落は1回の処理で Hello world.How are you?
になります。 末尾終端がないテキストでも、文字が含まれていれば1文として数えます。内容はあるが2回目に上げるアルファベットの文頭がないためです。Dr. Name のような略語はピリオドの後で再び大文字になります。
これは称号辞書のない純粋な終端規則の正直な限界です。
編集作業での使い方と実用上の限界
編集クリーンアップ、サポートマクロ、教室デモ、単発の貼り付けには、デスクトップユーティリティを入れたり各言語でワンライナーを書いたりせず、無料のブラウザ内センテンスケース変換器を使ってください。エンジンが拒否した検証失敗は残高を消費しません。別のフローはユーザー生成レビューを正規化し、フィードがページ途中で叫びとささやきを交互に出さないようにします。
見出しをルートにもするときはURLスラッグ生成器と組み合わせつつ、人間向け散文はセンテンスケース、パスはスラッグツールと意図を分けてください。文中の固有名詞の生存は期待しないでください。名前やブランド略語は意図的に小文字化され、ハウススタイルが必要なら後段の編集で戻します。
大文字小文字混在・複数終端・空拒否のフィクスチャを固定し、リファクタが製品約束を静かに変えないようにします。
活用例
サポートマクロとチケットテンプレート
サポートツールがエージェント返信と定型応答を正規化し、顧客向け文が一貫したセンテンスケースのハウススタイルに従うようにします。
UGCフィードとレビューモデレーション
商品レビューのパイプラインが混在または叫び調のユーザー文を表示前に読みやすいセンテンスケースへ直し、空送信は早めに拒否します。
よくある質問
テキストをセンテンスケースに変換するには?
応答の result がセンテンスケース出力で、original が比較用に入力を返します。
略語や固有名詞は保たれますか?
いいえ。 アルゴリズムはまずすべての文字を小文字にし、文頭だけを大文字にします。文中の大文字は意図的にリセットされます。
文境界はどう検出されますか?
ASCIIのピリオド・感嘆符・疑問符の後で次のアルファベット文字を大文字にします。文字列全体の最初の文字も大文字にします。
日本語の文が混ざっていても使えますか?
使えます。日本語の文字には大文字・小文字がないため、そのまま残ります。ただし文の区切りとみなすのは半角の「.」「!」「?」だけで、「。」の後に続く英字は大文字になりません。
「Dr.」の後の単語が大文字になるのはなぜですか?
ピリオドをすべて文の終わりとみなし、略語の辞書を使わないためです。「Dr.」や「etc.」の後の単語は大文字で始まるので、変換後にその部分を確認して必要なら直してください。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/str/sentence-case \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"hello world. this is a TEST."}'const res = await fetch("https://api.kit.forhosting.com/str/sentence-case", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "hello world. this is a TEST."
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/str/sentence-case",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "hello world. this is a TEST."
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/str/sentence-case", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"hello world. this is a TEST."}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"hello world. this is a TEST."}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/str/sentence-case", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"text": "hello world. this is a TEST."
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "str.sentence_case",
"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契約を返します。空または空白のみの文字列はinvalid_inputで失敗し、パイプラインが空のタイトルを保存しないようにします。
センテンスケースの意味と文の検出方法
数字や句読点だけの入力は小文字の結果と sentence_count 1 を返します。検索意図が文字どおりセンテンスケースへ変換・センテンスケース変換器・文の大文字小文字修正であるときにこのツールを選び、camelCase・snake_case・URLスラッグには別ツールを使ってください。アルゴリズムは完全に決定的で、同一入力は常に同一JSONを返し、ネットワーク・乱数シード・壁時計に依存しません。
入力契約、空の拒否、応答の読み方
整形済み段落だけなら result だけで十分です。ソーステキストは他のKIT parse項目と同じ保持規則に従います。必須の文字列フィールド text に書き換えたい空でないメッセージを入れたJSONボディを送ってください。古いフォームやクライアント生成器が使う別名 input・value・s・content も受け付けます。text 欠落、非文字列、空文字、空白のみは問題を名指しするメッセージ付きで invalid_input となり、前払いAPIでは課金されません。レビューUIで前後比較するなら original と result を併用し、調整された文頭数を見積もるリンターやスタイル検査では sentence_count を使います。ペイロードはWorker isolate向けの通常の文書サイズに抑え、数メガバイトのダンプではなくしてください。これは散文フォーマッタであり、一括ファイル処理器ではありません。
API利用、料金、編集ワークフロー、実務上の限界
CMSワーカー、チケットシステム、ローカライズパイプライン、モバイルバックエンドが同じ変換を残高下で必要とするときは前払いKIT APIを使い、成功件あたり$0.002です。典型フローは全大文字で貼られた商品説明を小文字化したうえでこのエンドポイントを実行し、result を表示本文として保存しつつ original を監査用に記録します。SDKを出荷する著者は text のみ必須と文書化し、複数文の例と空文字エラー例の両方を示して契約の両面を見せてください。
連携の活用例
編集とCMSのクリーンアップ
編集者が全大文字やタイトルケースの下書きをCMS欄に貼ると、エンドポイントは各段落を手直しせずに公開できるセンテンスケースを返します。
技術的な質問
text が空だとどうなりますか?
空文字と空白のみは invalid_input で失敗し課金されません。空白以外の文字を少なくとも1つ入れてください。
センテンスケース変換は無料ですか?
ブラウザツールは端末上で無料です。API呼び出しは成功件あたり$0.002の前払いKIT残高を使い、検証失敗は課金されません。