1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Pythonで特定の文字列以降を削除する

Posted at

特定の文字列以降を削除する(その1)

例えば、123-4567のような郵便番号みたいな文字列があるとします。
"-"以降の部分文字列を削除したいとき、私が最初に思いつくのは、find()メソッドを使うやり方です。find()メソッドは、指定した部分文字列が文字列内で最初に見つかる位置のインデックスを返します。

example1.py
s = "123-4567"
pos = s.find("-")
s = s[:pos]
print(s) # 123が出力される

上のコードは変数posを使わずに書くこともできます。

example2.py
s = "123-4567"
s = [:s.find("-")]
print(s) # 123が出力される

特定の文字列以降を削除する(その2)

その次に考えられるのが、split()メソッドを使うやり方です。
今度は怪しげな?メールアドレスの@以降(ドメイン名)を削除してみます。

example3.py
s = "hogehoge@Junkmail.com"
s = s.split("@")[0]
print(s) # hogehogeが出力される

特定の文字列以降を削除する(その3)

私は知らなかったのですが、partition()メソッドを使う方法もあります。

example4.py
s = "hogehoge@Junkmail.com"
s = s.partition("@")[0]
print(s) # hogehogeが出力される

split()メソッドとの違いは、partition()メソッドは指定した区切り文字で文字列を分割し、3つの部分に分けるということです。すなわち、分割する文字列の前半、区切り文字、分割する文字列の後半に分けられます。(知らなかったので自分用の備忘録です。)

1
1
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
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?