テキストが回文か確認し、最長の回文部分を見つける方法
テキストを入力して実行すると、回文かどうかと、入力内で最も長い連続した回文部分を確認できます。空の入力も受け付けますが、回文ではないと分類されます。
テキストの回文判定と最長部分の確認
Palindrome Checkerは、入力したテキストが回文かどうかを確認し、テキスト内で最も長い連続した回文部分を見つけるためのツールです。文章全体の判定だけでなく、入力の中に回文になっている部分や、回文として扱える単語らしい部分があるかも確認できます。
入力は省略できます。省略時は空のテキストとして扱われ、空のテキストは回文ではないと判定されます。短い語句の確認から、文章の中に隠れた回文部分を探す用途まで、テキストをそのまま入力して結果を確認できます。
使い方と判定の流れ
-
判定したいテキストを入力欄に貼り付けます。入力を省略する場合は、空のままでも処理できます。対象はテキストです。
-
判定を実行します。入力が空なら、回文ではないという分類になります。空でないテキストでは、まず大文字を小文字に変換し、ASCIIの英字 a〜z と数字 0〜9 以外の文字をすべて取り除いた内容と、その逆順を比較します。そのため、英字の大文字小文字、空白、句読点などを含む入力では、表示上の文字列と判定に使われる内容が異なる場合があります。
-
結果で、テキスト全体の回文判定を確認します。続いて、入力内から最も長い連続した回文部分を確認します。この部分の検索では大文字小文字を区別しませんが、空白や句読点などの元の文字はその部分に残ります。
-
単語に相当する文字の連続部分についても確認します。空でない入力では、単語らしい連続部分を調べ、1文字より長い部分が回文かどうかを判定します。結果を読むときは、全体の判定、最長の回文部分、単語単位の判定を分けて確認してください。
結果の読み方と注意点
「回文」と分類されたかどうかは、入力をそのまま反転した結果ではなく、空白や句読点などを除き、大文字小文字をそろえた比較内容に基づきます。たとえば「A man a plan a canal Panama」は回文として分類され、「Hello World」は回文ではないと分類されます。1文字の入力も回文として分類されます。
一方、最長の回文部分は、全体の判定で使う正規化された比較内容と同じものではありません。検索された部分には、入力中の元の大文字小文字や空白、句読点などが保持されます。したがって、全体では回文でない文章にも、内部に回文部分が見つかることがあります。入力を変更した場合は、結果を再確認してください。
使用例
英字の大文字小文字や空白を含む有名なフレーズが回文として分類されるかを確認したい場合に、この入力を使います。
入力欄に「A man a plan a canal Panama」を入力して実行し、全体の判定と最長部分を確認します。このフレーズは回文として分類されます。
結果には、入力全体の回文判定と、入力内で見つかった最長の連続した回文部分が含まれます。
制限事項
- 空の入力は回文ではないと分類されます。全体の判定ではASCIIの英字と数字以外が比較対象から除かれますが、最長の回文部分には元の文字が残ります。
よくある間違い
- 全体の判定と最長部分の検索で、空白や句読点の扱いが同じだと思うと、結果を読み違えることがあります。全体の判定ではASCIIの英字と数字以外を除きますが、最長部分には元の文字が残るため、それぞれを別に確認してください。
よくある質問
入力を省略しても判定できますか?
空のまま実行できます。ただし、空のテキストは回文ではないと分類されます。
空白や句読点は回文判定に影響しますか?
全体の判定では、大文字を小文字に変換し、ASCIIの英字 a〜z と数字 0〜9 以外を取り除いてから、逆順と比較します。
最長の回文部分では文字の扱いが違いますか?
最長の回文部分は連続した部分として探されます。大文字小文字は区別されませんが、その部分に含まれる元の空白や句読点などは保持されます。