文字列の一部を別の文字に置き換える方法

今回は、文字列の一部を別の文字に置き換えることができる、テキストデータの加工置換の機能について紹介します。

データはネットフリックスのオリジナルドラマのデータを使用します。

列にはドラマのカテゴリーがあり、中にはホラーやスリラー、コメディからファンタジーなど様々なカテゴリーがあります。

そして、ネットフリックスにはオリジナルで多くのホラーコンテンツがあるようです。

よく一般的にホラーと言われているものには、明確にはジャンルの違いがあるようです。

ホラー:モンスターや見知らぬ殺人鬼などが主人公を脅かすもの。

スリラー:身近な存在だった人が主人公を脅かすもの。

サイコ:常識を逸脱した行動を取る人(狂人)が出て来るもの。

しかし、日本ではあまり区別されずに呼ばれているのではないでしょうか?

もし、映画などに詳しい方には別じゃないとダメだ、と思われるかもしれませんが、今回はこれらのジャンルをすべてホラーに置き換えたいとします。

まずは、下記のようにThrillerHorrorに変更してみます。

列ヘッダメニューから、テキストデータの加工 (UI) を選び、置換するを選択します。

テキストデータの加工のダイアログが表示されます。

変換元にThrillerを入力し、変換先にHorrorを入力します。

入力を終えたら、プレビューボタンをクリックします。

元の値と新しい値で対象となっているものが太文字で表示され、ThrillerをHorrorに変更することができているのが確認できます。

ちなみに、大文字・小文字を無視するがデフォルトでは「はい」になっています。

もし、この大文字・小文字を無視するに「いいえ」を選択してしまうと、一番上の値のように変換元の文字と完全にマッチするしなければ変換されることはありません。

そのため、大抵の場合は大文字・小文字を無視するは「はい」のままでいいかと思います。

デフォルトでこの機能がついているのは嬉しいですね。

次に、位置では「指定しない」の場合は最初に出現した文字を対象に変換してくれます。

もし、位置に「先頭」を指定した場合は、文字列の最初にThrillerがある場合のみ変換してくれます。

逆に「末尾」を指定した場合では、文字列の最後にThrillerがある場合のみ変換することができます。

今回は、何も指定せずにそのまま実行します。

文字列の一部を別の文字に置き換えることができました。

全ての文字を置き換える

しかし、文字列内に複数のThrillerがあった場合、最初の文字しか変えることができていません。

そのため、文字列内にある全てのThrillerをHorrorに置き換えたいとします。

テキストデータの加工のステップのトークンをクリックします。

処理のタイプにテキスト (全て) を選択します。

プレビューをクリックすると、文字列内にある全てのThrillerをHorrorに変換することができています。

実行して列を確認します。

文字列内の全ての文字を別の文字に置き換えることができました。

複数の文字を置き換える

文字列の中にはジャンルがサイコを表すPsychologicalがあります。

こちらもよくホラーと混同されるので、Thrillerと共にPsychologicalもHorrorに置き換えたいとします。

先ほどと同様に、ステップのトークンからダイアログを表示し、処理のタイプにテキスト (複数の候補) を選択します。

変換元には、コンマ(,)で区切って複数の文字を指定することができます。

今回は、Thriller, Psychologicalと指定します。

プレビューをクリックすると、ThrillerとPsychologicalがHorrorに置き換わっていることがわかります。

実行して列を確認します。

複数の文字を別の文字に置き換えることができました。

Appendix Rコードの自動生成

お気づきの方もいらっしゃるかもしれませんが、実はテキストデータの加工のダイアログの左下にはRコードが自動で生成されています。

もし自分で細かく調整したい場合は、このRコードをコピーして計算を作成から貼り付けて実行することができます。

Rコードをコピーします。

ステップメニューから計算を作成 (Mutate)を選択します。

計算エディタに先ほどコピーしたRコードをペーストして実行します。

先ほどとUIでした時と同じ処理を計算を作成 (Mutate)上からも行うことができました。