回文チェッカー
回文とは、前から読んでも後ろから読んでも同じになる文字列のことです。「Madam」は容易に認識できますが、「A man, a plan, a canal: Panama」という文字列は、句読点やスペースを無視する必要があるため、識別に少し時間がかかります。このツールは貼り付けた内容を小文字化し、スペースおよび句読点を削除することで標準化処理を行い、結果が本当に回文であるかを確認するとともに、逆順の文字列を並べて表示します。
チェックの実行方法
-
1
テキストまたは数値を貼り付けます
単語、フレーズ、長い文、または数値文字列。
-
2
正規化が適用されました
文字は小文字に変換され、文字でも数字でもないもの(スペース、句読点、記号)はすべて削除されます。すべての Unicode 文字はそのまま保持されるため、アクセントは区別され、非ラテン文字(日本語を含む)も扱えます。
-
3
前向きと後方向きを比較します
正規化された文字列がその逆順と一致する場合、それは回文です。
-
4
結果を確認してください
このツールは、検証のため、原始文字列および正規化された文字列(逆順)の両方を表示します。
クラシックなパリンドロームの例
| テキスト | タイプ |
|---|---|
madam |
単語 |
level |
単語 |
racecar |
単語 |
A man, a plan, a canal: Panama |
フレーズ |
Was it a car or a cat I saw? |
質問 |
Never odd or even |
フレーズ |
12321 |
数字 |
Mr. Owl ate my metal worm |
長い文 |
たけやぶやけた |
日本語の回文 |
回文のカテゴリ
- 文字パリンドローム。 デフォルト値は、スペースを無視して前後同じ文字が並ぶ形式です。
- ワードパリンドローム。「I did, did I」、各語が単位として対称的に配置されている。
- セモルディナプス(Semordnilaps):順を逆転すると異なる語となる語:「stressed」→「desserts」。
- 数値パリンドローム。 両方向で同じ文字列となる任意の数字列:1991、1881。
- ゲノム内のパリンドローム。 両鎖において同一の配列が現れるDNA領域であり(制限酵素と関連している)。
チェックのプログラミング
疑似コードにおける核心的な論理は以下の通りです:
function isPalindrome(s):
normalized = lowercase(s)
normalized = removeAll(normalized, /[^\p{L}\p{N}]/u) // 文字と数字を保持、どの文字体系でも
return normalized == reverse(normalized)
これは標準的なインタビュー用ウォームアップ質問です。変形版では、エッジケースを追加しています:Unicodeの結合記号を無視する、空文字列を処理する、絵文字をサポートする、グラフェムクラスターを考慮するなどです。
このルールの一般的な変形例
- **厳密モード:**スペースや句読点を含むすべての文字をカウントします。
"aba"は合格;"a man a plan"は不合格です。 - アルファベット・数字のみ: 他のすべてを削除します。ほとんどのカジュアルな回文チェックでこの方式が使われます。
- Unicode 正規化: 一部のツールは比較前にアクセント付き文字を統合(NFKD)し、「café」を「éfac」と一致させます。
このツールはアルファベットと数字のみの方式を使います。小文字に変換し、すべての Unicode 文字と数字(日本語を含むあらゆる文字)を保持し、それ以外を削除します。アクセントは統合しないため、アクセント付き文字は同じ文字と正確に一致する必要があります。「厳格モード」ボタンはありません。
よくある質問
はい。1文字はどれも自明に回文です。逆順にしても自分自身と同じだからです。多くの教育的な定義では、興味深いものとするには少なくとも3文字が必要だとされますが、数学的な定義では長さ1、さらには長さ0(空文字列)も回文として認めます。
これらを数字列として扱ってください。121、12321および1991は数値パリンドロームです。大きな整数については文字列表現を確認してください。数値を算術的に逆転させると先頭のゼロが失われてしまうため、そのようにすることは避けてください。
英語における重要な作品の一つに、「A Man, a Plan, a Canal: Panama」およびその数多くの拡張形がある。ピーター・ノルヴィグがコンピュータで生成したパリンドロームは17,000語以上にも及びるが、いずれも文法的に正しいものではない。ギネス世界記録に登録されている英語の単語によるパリンドロームの中で最も長いものは「tattarrattat」(『ユリッセス』)である。
はい、すべての言語においてそうです。フィンランド語の「saippuakivikauppias」(石鹸石販売業者、19文字)は、あらゆる言語において最も長い自然に生じる単語回文としてよく挙げられています。
関連ツール
校正記号の早見表
英文の伝統的な校正でよく使う14種の記号を、簡潔な説明と例で確認できます。
スペリング・ビー ジェネレーター
レベル別にシャッフルした英語のスペリング練習用単語リストを生成します。1年生レベルから難しいBeeラウンドまで。無料の内蔵単語リストで練習できます。
1枚資料メーカー
要点、数値、セクション、行動喚起を備えた簡潔な1枚資料を作成。非公開のまま編集、プレビュー、印刷、ダウンロードできます。
ディス・オア・ザット ジェネレーター
アイスブレイク、デート、誕生日会、チームのウォームアップ向けに、二択のジレンマのデッキをシャッフル。必要な数を選んで質問を始めましょう。
単語シャッフルツール
各単語の文字をシャッフルし、先頭と末尾の文字は保持します。パズル、言葉遊び、読解練習に便利です。
ランダム単語ジェネレーター
ランダムな英単語リストを生成します。日常、自然、クリエイティブ、テックのカテゴリを選び、長さと件数を指定して結果をコピーできます。
このツールは他の言語でも利用できます
- Kiểm tra Palindrome [VI]
- Palindromskannare [SV]
- Palindrom-Prüfer [DE]
- Verificador de Palíndromos [ES]
- เครื่องมือตรวจสอบพาลินโดรม [TH]
- مُتحقق السلسلة المتقابلة [AR]
- 회문 검사기 [KO]
- Vérificateur de palindrome [FR]
- Pemeriksa Palindrom [ID]
- Palindroomcontrole [NL]
- Sprawdzanie palindromu [PL]
- Verificador de Palíndromos [PT]
- Palindrome Checker [EN]
- Controllore di Palindromi [IT]
- Проверитель палиндромов [RU]
- Palindrom Denetleyici [TR]
- 回文检查器 [ZH]