■ はじめに
https://dk521123.hatenablog.com/entry/2019/10/12/075251
https://dk521123.hatenablog.com/entry/2021/06/07/164858
の続き。 find() って文字列比較で使っているコードをみて、 あんまり使ったことなかったので、調べてみた。 (調べた結果、個人的には、findなんて使うなよって思ったが) で、文字列比較について、まとめてみた。
目次
【1】完全一致 【2】部分一致 別解:find() について 【3】前方一致・後方一致(先頭・末尾)
【1】完全一致
* == / != を使えばいい
【2】部分一致
* in / not in を使えばいい
サンプル
input_data = "hello_world.zip" # True print('.zip' in input_data) # False print('.txt' in input_data) # Zip!!! if '.zip' not in input_data: print('Not zip...') else: print('Zip!!!')
別解:find() について
* str.find() を使ってもできる。 => 対象文字列を見つけたら、その文字位置を返す => 対象文字列がなければ、「-1」を返す
サンプル
input_data = "hello_world.zip" # 11 print(input_data.find('.zip')) # -1 print(input_data.find('.txt')) # zip!!! if input_data.find('.zip') < 0: print('Not zip...') else: print('Zip!!!')
【3】前方一致・後方一致(先頭・末尾)
startswith(), endswith()
サンプル
target_str = "aaabbbccc" # startswith # True print(target_str.startswith("aaa")) # False print(target_str.startswith("aab")) # endswith # True print(target_str.endswith("ccc")) # False print(target_str.endswith("bcc"))
参考文献
https://www.headboost.jp/python-string-comparisons/
関連記事
Python ~ 基本編 / 文字列 ~
https://dk521123.hatenablog.com/entry/2019/10/12/075251
Python ~ 基本編 / 先頭・末尾の文字列除去 ~
https://dk521123.hatenablog.com/entry/2021/06/07/164858