Wolfram言語

テキストと言語の処理

回文

回文とは,左から読んでも右から読んでも等しい数,単語あるいは文のことである.PalindromeQ,そのオプション,その他の文字列関連低レベル関数を使って回文構造の単語や文を調べる.

次は英語の回文である.

In[1]:=
Click for copyable input
PalindromeQ["racecar"]
Out[1]=

Annaという名前も,大文字小文字の違いを無視すれば回文である.

In[2]:=
Click for copyable input
PalindromeQ["Anna", IgnoreCase -> True]
Out[2]=

Decapitalizeを使って頭文字を小文字にすることもできる.

In[3]:=
Click for copyable input
PalindromeQ[Decapitalize["Anna"]]
Out[3]=

フランス語の「rêver」も,付加記号を無視すれば回文である.

In[4]:=
Click for copyable input
PalindromeQ["rêver", IgnoreDiacritics -> True]
Out[4]=

代りにRemoveDiacriticsを使ってこの動詞から付加記号を取り除くこともできる.

In[5]:=
Click for copyable input
PalindromeQ[RemoveDiacritics["rêver"]]
Out[5]=

回文構造の文の場合も,最初に文字列を処理する必要があるのが普通である.

In[6]:=
Click for copyable input
sentence = "Now, sir, a war is won!";
In[7]:=
Click for copyable input
PalindromeQ[sentence]
Out[7]=
In[8]:=
Click for copyable input
StringDelete[sentence, PunctuationCharacter | Whitespace]
Out[8]=
In[9]:=
Click for copyable input
StringDelete[sentence, PunctuationCharacter | Whitespace]; PalindromeQ[%, IgnoreCase -> True]
Out[9]=

関連する例

de en es fr ko pt-br ru zh