Python

Pythonで文字列の全角スペースなどのヌル文字である空白を削除する方法

By 2021年3月24日March 25th, 2021No Comments

Pythonで文字列の全角スペースや半角スペースなどの空白文字を削除する方法について解説していきます。

Pythonでヌル文字である空白文字を削除する方法は様々あります。この記事ではstrip( )、lstrip( )、rstrip( )、replace( )、translate( )関数を使って文字列の空白を削除していきます。

文字列の先頭や末尾にある空白を削除するにはstrip( )関数を使います。strip( )は文字列の先頭と末尾の指定した文字列を削除して取り除く事ができます。空白文字とは半角スペースや全角スペースなどのことを指します。構文は下記になります。

文字列.strip(削除したい文字列)

hello = '   みなさんこんにちわ。  '
print(hello)
print(hello.strip())

結果:

    みなさんこんにちわ。
みなさんこんにちわ。

文字列の最初と最後にある空白を削除しました。このようにstrip( )関数の引数を何も指定しない場合はヌル文字である空白が削除されます。

strip( )関数は前後の不要な文字を削除できます。

print("んんんんみなさんこんにちわ。んんんん".strip("ん"))

結果:

みなさんこんにちわ。

strip( )関数で削除できる文字列は先頭と末尾の文字列なので「みなさんこんにちわ。」の”ん”は削除されずに先頭と末尾の”ん”だけが削除されているのが分かります。

削除したい文字は複数指定する事ができます。

hello = "/////みなさんこんにちわ。、、、、、"
print(hello.strip("/""、"))

結果:

みなさんこんにちわ。

このようにstrip( )関数は文字列が先頭と末尾にある文字であれば何個も指定することができます。

lstrip( ) は先頭にある不要な文字列だけを削除することができます。構文は下記になります。

文字列.lstrip(削除したい文字列)

hello = "   みなさんこんにちわ。   "
print(hello)
print(hello.lstrip())

結果:

    みなさんこんにちわ。
みなさんこんにちわ。

先頭の空白文字だけが削除されました。

文字列の削除でも先頭の文字列のみが削除されます。

hello = "/////みなさんこんにちわ。/////"
print(hello.lstrip("/"))

結果:

みなさんこんにちわ。/////

rstrip( )関数は末尾にある不要な文字のみを削除する事ができます。構文は下記になります。

文字列.rstrip(削除したい文字列)

print("   みなさんこんにちわ。   ".rstrip())

結果:

    みなさんこんにちわ。
    みなさんこんにちわ。
hello = "/////みなさんこんにちわ。/////"
print(hello.rstrip("/"))

結果:

/////みなさんこんにちわ。

このようにstirp( )、lstrip( )、rstrip( )関数は引数に指定した文字列を削除する事ができます。

replace( )関数でヌル文字である空白を置換して文字を削除する方法

replaceメソッドは文字列を置換して文字を入れ替える事ができますが、それを利用して空白であるヌル文字を置換して文字列を削除することもできます。置換したい文字列に削除したい文字列を新しい文字列を空にすると、任意の文字列を削除することができます。構文は下記になります。

文字列.replace(置換したい文字列, 新しい文字, 置換回数)

hello = " み な さ ん こ ん に ち わ 。 "
print(hello)
print(hello.replace(" ", ""))

結果:

み な さ ん こ ん に ち わ 。
みなさんこんにちわ。

このように空白文字を指定することで文字列を削除する事ができました。置換したい回数を指定することもできます。

hello = " み な さ ん こ ん に ち わ 。 "
print(hello)
print(hello.replace(" ", "", 4))

結果:

みなさん こ ん に ち わ 。

置換したい回数を4と指定したので4回だけ空白文字が削除されて、それ以降は削除されていないのが分かります。

translate( )関数で複数の文字列を一度に削除する方法

translate( )関数はmaketrans( )関数と合わせて使うことで複数の文字列を一度に置換したり削除したりする事ができます。構文は下記になります。

hello = "   みなさんこんにちわ。  "
h_delite = hello.maketrans({' ': '', '。': '', 'ん': ''})
print(hello)
print(hello.translate(h_delite))

結果:

    みなさんこんにちわ。
みなさこにちわ

不要な文字列をまとめて削除する事ができました。Pythonで文字列から一部の文字を削除するときの速度の比較ではtranslate( )関数での削除の処理速度が一番早いとされています。

pythonで文字列の0を消す方法

数字の文字列の先頭に0がある場合はint( )関数を使うと先頭の0を消すことができます。

num = "000077770"
print int(num)

結果:

77770

このように文字列の数字をint( )関数を使って数値に変換することで先頭の0を消すことができます。

まとめ

今回はPythonで文字列のヌル文字である空白を削除するためにstrip( )、lstrip( ) 、rstrip( )、replace( )、translate( )の使いました。そして、文字列である先頭にある0の消し方についてでした。

strip( )…文字列の両端の不要な文字列を削除できる。

lstrip( )…文字列の最初の不要な文字を削除できる。

rstrip( )…文字列の最後の不要な文字を削除できる。

replace( )…指定の文字列を置換して削除できる。

translate( )…複数の指定の文字列を一度に置換して削除できる。

Pythonではこれらの関数を使って空白文字を削除する事ができます。以上、Pythonのヌル文字である空白文字などを削除する方法についてでした。

Udemyの動画学習でもPythonを勉強しよう!

「平日の夜の勉強会には時間が間に合わなくて参加できない」「通勤時間のわずかな隙間時間を勉強時間にあてたい」「本ではよく分からないところを動画で理解を深めたい」そんなあなたはUdemyの動画学習がお勧めです!

UdemyのPythonおすすめ33講座レビューリスト
HOSL

Author HOSL

More posts by HOSL