LoginSignup
17
7

More than 3 years have passed since last update.

文字列の中にあるいらない文字を取り除く

Last updated at Posted at 2019-09-02

文字列の中にあるいらない文字を取り除く

Exploratoryではstr_removeという関数を使って、指定した文字を文字列データから簡単に取り除くことができます。

今回は、このstr_remove関数について紹介していきます。

str_remove関数の基本

str_remove関数には2つの引数があり、次のように記述されます。

str_remove(列名, "削除したい文字列")

1つ目の引数は削除したい文字が入っている列の名前です。

2つ目の引数は、削除したい文字列を指定します。例えば、"田中さん"という文字列データがあって、その中から"さん"という文字を削除したい場合は、"さん"と指定します。

しかし、ここで一つ注意が必要です。

もし、文字列データが "田中さん"、"鈴木さん"となっていた場合に、str_remove(name,"さん")とすると、"田中","鈴木さん"という値が返ってきて、"さん"という文字列が残ってしまいます。

これは、str_remove関数が1番目に出てきた指定された文字列のみを削除するからです。

このような場合には、str_remove_allという関数を使うことで、文字列データに含まれている「全て」の"さん"を削除することができます。

それでは、str_removeの具体的な使い方を見ていきましょう。

不要な文字列を取り除く

例えば、下記のように、文字列の中にカンマ( , )があって削除したいことがあります。

image.png

こういったときに、str_removeを使うことで指定した文字列を削除することができます。

列ヘッダメニューから、「テキストを操作」をクリックし、「ある文字列を取り除く」を選択します。

image.png

ダイアログが開き、既にstr_removeの関数と、1つ目の引数である列名が入力されています。

そのため、削除したい文字列の ","を 入力します。

完成したコードは下記のようになります。

str_remove(Item, ",")

image.png

実行すると、Itemのカンマ(,)がある文字列からカンマ(,)が取り除かれていることがわかります。

image.png

しかし、文字列に複数のカンマが含まれている場合(今回の場合はAnimals, live, nes)は、一つ目のカンマのみを削除した形(Animals live, nes)となりました。

これは、str_removeの基本でも説明したように、指定した文字列が複数ある場合は、文字列の最初の物のみ削除されるためです。

ではこの問題を対処するために、str_remove_allという関数を使ってみましょう

不要な文字列を全て取り除く

str_remove_allは指定した文字列が列の中に複数あった場合でも、全ての文字列を削除することができる関数です。

列ヘッダメニューから、「テキストを操作」をクリックし、「ある文字列を取り除く (全て)」を選択します。

image.png

ダイアログが開き、既にstr_remove_allの関数と、1つ目の引数である列名が入力されています。

そのため、削除したい文字列の ","を 入力します。

完成したコードは下記のようになります。

str_remove_all(Item, ",")

image.png

実行すると、カンマ(,)が複数あった場合でも、列内にある全てのカンマ(,)が取り除かれていることがわかります。

image.png

取り除きたい文字の候補を複数指定したい場合

もし、削除したい文字列の候補が複数ある場合は、論理和の記号である" | "(縦スラッシュ)を使って複数指定することができます。

例えば、文字列データから"A"もしくは"B"を削除したい場合は、str_remove(Column,"A|B")と指定することができます。

今回は、下記のように文字列の中にある", live, nes"と", other"を削除したいとします。

image.png

列ヘッダメニューから、「テキストを操作」をクリックし、「ある文字列を取り除く 」を選択します。

image.png

ダイアログが開き、既にstr_removeの関数と、1つ目の引数である列名が入力されています。

今回は取り除きたい文字列データが複数あるので、2つ目の引数に" | "を使って以下のように文字列を指定します。

str_remove(Item, ", live, nes|, other")

image.png

実行すると、", live, nes"と", other"という文字列を削除することができました。

image.png


Exploratoryデータ・アカデミー

データ分析に関してもっと知りたい、学びたいという方は、私達が提供しているトレーニングやセミナーに参加してみてください。

こちらのExploratoryデータ・アカデミーのページに詳細情報があります。

データを使ってより良い意思決定を行っていきたいと言う方は、ぜひこの機会に参加をご検討ください!

17
7
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
17
7