0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

文字列の置換と削除

Posted at

文字列の置換と削除

プログラミングで文字列を扱う時、文字列の一部を置き換えるという処理をよく実行します。
文字列オブジェクトの持つreplase()メソッドを使うと、文字列の一部を別の文字列に置き換え、置換することができます。
【例】
orig_str = “こんにちは”
orig_str.replase(“こ”, “あ”)

あんにちは

replase()メソッドを呼ぶと、文字列を置換した結果が新しい文字列になって返ってきます。
メソット呼び出しに使った文字列オブジェクトは変更されません。※文字列は変更不可能なデータ型

replase()メソッドは、2番めの引数に空の文字列を渡せば、文字の削除にも使えます。
指定した文字列が空の文字列に置き換わり、結果として削除されます。
例えば、3桁ごとにカンマの入った整数相当の文字列を、数値として扱う場合、単純に文字列を数値に変換するなら
組み込み関数のint()を使えます。しかし、カンマのような記号が入ると、int()関数がエラーを起こしてしまいます。
事前に、replase()メソッドを使って、不要な文字列を取り除くようにし、その上でint()関数で数値に変換すれば良いです。
【例】
str_num = “1,000,000”
num = int(str_num.replase(“,” , “”))
num

1000000

split()メソッド
split()メソッドを使うと、文字列を特定の文字を目安にして分割できます。
タブや、スペースのような空白文字列や、カンマで分割された長い文字列を、細かい文字列に分割するのにsplit()メソッドを使います。
Excelのような表計算ソフトでは、表の内容をタブで区切る形式で書き出せます。
また、インターネットからダウンロードできるデータも、似たような形式で配布されていることがあります。
このようなデータをPythonに取り込んで処理する時split()メソッドを使います。
split()メソッドは、分割に利用する区切り文字列を引数をして渡して、結果を文字列のリストとして返します。
なお、Excelなどの表計算ソフトが書き出すCSV形式のファイルは、フォーマットが複雑でsplit()メソッドでは扱いづらいです。

join()メソッド
join()メソッドを使うと、split()メソッドと逆の処理を行えます。
join()メソッドは、文字列を要素として持つリストを引数にとって、リストの文字列を連結してた文字列で取得することができます。
連結の時、間に挟む連結文字列を使ってjoin()メソッドを呼び出します。
例えば、空白で区切られた数値相当の文字列を、カンマで区切る形式に変換したいとします。
split()とjoin()を組み合わせると次のように書けます。
【例】
str_speeds = “38 42 20 40 39”
speeds = str_speeds.split()
csep_speeds = “,”.join(speeds)
csep_speeds

38,42,20,40,39

空白にカンマを置き換えるだけなら、文字列型のreplase()メソッドを使って[str_speeds.replase(“ “ , “,”)]
と書けますが、split()とjoin()を組み合わせる方法には、replase()メソッドが持たない利点があります。
split()メソッドは、分割しようとする文字列の前後に不要な空白があったり、間のスペースが複雑だったりしても
上手に要素を分割してくれます。

replase()を使った場合とsplit()とjoin()を使った場合の比較
【replase()の場合】
str_speed2 = “ 38 42 20 40 39 “
str_speed2.replase(“ “, “,”)

,38,42,20,40,39,

【split()とjoin()の場合】
str_speed2 = “ 38 42 20 40 39 “
speed2 = str_speed2.split()
csep_speed2 = “,”.join(speed2)

38,42,20,40,39

手入力したデータなどでは、この例のような余分な空白が入りがちです。
このようなデータをに扱うためには、split()とjoin()を使うと便利です。

0
2
0

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
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?