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.

【Python Tips】特定の文字列を削除するstr.translate

Posted at

1.はじめに

文字列内の文字を変換したり削除したりしたい時に便利なPython3の関数があります。
それがstr.traslate()です。

str.translate()は変換テーブルを使って文字列を変換する関数です。

2.例題

例えば、ネット将棋の棋譜データは消費時間や手数などのノイズがついているため、ブログに載せる時には削除する必要があります。

これを全て手作業で消すのは大変なので、これをプログラムで削除します。

削除前のデータ

1 7六歩(77)   ( 0:03/00:00:03)
2 3四歩(33)   ( 0:06/00:00:06)
3 2六歩(27)   ( 0:04/00:00:07)
4 4四歩(43)   ( 0:10/00:00:16)

削除後のデータ

7六歩     3四歩     2六歩     4四歩

きれいになりました。

3.コードを見てみましょう

1行目はtableという変数にstr.maketransという関数を代入します。
2行目は:(カンマ)の左側に変換前の文字(この場合は"(")
    :(カンマ)の右側に変換後の文字(この場合は"空白")を設定します。

そして変換した文字を入れ切ったら
変数にresultにtext.translate()関数を代入し、引数をtableとします。

str_translete.py
table = str.maketrans({
    '(': '',  # (を空白に変換
    ')': '',  # )を空白に変換
    ':': '',  # :を空白に変換
    '1': '',   #  以下割愛
    '2': '',
    '3': '',
    '4': '',
    '5': '',
    '6': '',
    '7': '',
    '8': '',
    '9': '',
    '0': '',
    '/': '',
})
result = text.translate(table)
result

4.まとめ

サンプルコードはGoogle Colaboratoryに載せました。

5.参考URL

[文字の変換にはstr.translate()が便利]
(https://qiita.com/tag1216/items/df6c93bdb823dd48af6c)

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