文字列の順列と組み合わせ
テキスト処理はすべてブラウザ内で完結します。データは送信されません
入力
ファイルをここにドロップすると読み込めます
出力
順列・k 個の組み合わせ・左右回転・直積を 1 つのツールで。最も重要なのは件数を先に計算してから生成することです。`abcdefghij` の順列は 3628800 件あり、先に生成するとページが固まってしまいます。上限を超える場合はエラーにし、何件必要かを伝えます。 重複文字は除去します。`aab` の順列は 6 件ではなく 3 件です。直積モードではカンマ区切りの各セグメントの文字が 1 グループになります(`ab,12` なら `a1 a2 b1 b2`)。 計算はすべてブラウザ内で完結し、通信もアップロードもありません。
機能
- 5 つのモード:順列・組み合わせ(k 個)・左回転・右回転・直積
- ⚠️ 正確な件数を先に計算し、上限超過時はエラー(無言の切り詰めはしない)
- 重複文字を除去:aab の順列は 6 件ではなく 3 件
- 組み合わせは母関数の係数で正確に数える
- 生成順または辞書順での出力を選択可能
- 結果の件数と現在の上限を表示
- コードポイント単位で絵文字も壊れない
使い方
- テキストを 1 行入力します
- モードを選び、組み合わせの場合は k を設定します
- 必要に応じて重複除去・順序・上限を調整します
- 結果リストと件数がすぐに表示されます
よくある質問
- なぜ上限超過でエラーにするのですか?
- 無言で切り詰めると「これで全部」と誤解されるからです。順列は階乗で増え、省かれた分が探しているものかもしれないため、必要な件数を伝える方が誠実です。
- 重複文字はどう処理しますか?
- 位置の交換ではなく、文字ごとの残り個数をたどって生成するため、同じ 2 つの a を入れ替えた結果は重複しません。だから `aab` は 3 件です。
- 直積はどう入力しますか?
- カンマでグループを区切ります。各グループの文字が集合になります。`ab,12` なら a1、a2、b1、b2 の 4 件です。
- データは送信されますか?
- いいえ。すべてブラウザのメモリ内で計算し、通信も記録もありません。オフラインでも使えます。
関連ツール
波括弧の展開
Webbash の波括弧展開({a,b}、{1..10..2}、{a..e})を項目ごとに展開します。入れ子・刻み幅・逆順・先頭ゼロの桁揃えに対応し、展開数も表示。
テキストシャッフル
テキスト行・文字・語の単位でテキストをランダムに並べ替えます。語間の空白と行頭のインデントはそのまま。処理はブラウザ内で完結します。
正規表現テスト
テキストブラウザで正規表現をテスト:一致のハイライト、キャプチャグループ、置換プレビュー、バックトラック対策。JavaScript・Python・Java・Go・PHP のコード生成も。
テキスト差分
テキスト2つのテキストを行ごとに比較し、追加・削除・未変更の行をハイライト表示します。変更は最小差分で整列し、すべてブラウザ内で処理します。
文字数カウント
テキスト英語は単語数、日本語や中国語は字数で別々に数えます。文字数・行数・バイト数・読了時間も同時に出し、すべてブラウザ内で処理するので送信しません。
テキスト整形
テキストログや表からコピーした1列を整形します。重複行の削除、並べ替え、空行・前後の空白・行番号の削除、空白のまとめを個別に切り替えできます。