stringクラスのsplitとarrayクラスのjoinを使えば、不純物探知ができるよねというお話。
以下のコードを例に取ります。
最初にhelloがたくさん並んだ文字列があります。一見、すべてhelloに見えますね。
次に、split('hello').join('')をしています。
これは文字列を配列化して、さらに文字列に戻しています。
配列化の際に、splitの引数で文字列を区切る事ができます。
splitの詳細はこちらをご参照ください。
その区切り文字としてhelloを指定すると、つまりhelloを削ぎ落とすことができます。
'hello,hello,hello'
たとえば上記の文字列にsplit(',')とすると、
['hello', 'hello', 'hello']となります。
これは、カンマを捨てたことに等しいです。
この仕様を利用したのが、先述のhelloの削ぎ落としです。これよって、不純物のみが抽出されます。
その上でjoinを使って配列要素を連結します。これが不純物の文字列です。
この文字列の長さが0ならば、つまり1文字もなければ不純物は無いということになります。
参考:
このテクニックは、競技プログラミングのこちらの回答を見て発見しました。感謝です。