LoginSignup
6
5

More than 5 years have passed since last update.

Python:Left$,Right$,Mid$関数(文字列操作、 初心者向け)

Last updated at Posted at 2018-03-14

Pythonには文字列の一部を取り出すメソッドが無いかな?と思って検索していたら海外の質問コーナーで同じ質問を見つけました。
その回答欄にプログラムがあったのでそれを今迄使っていました。
他にも訳のわからない回答があったのですが???

ブックマークに登録していたので今日たまたま開いて、最後まで読んで意味がわからないが書いてあることを実行したら、あれ、Left$,Right$,Mid$関数ってPythonには最初から機能がついている!!

記憶力が悪いのでライブラリに登録することにしました。
コメントにてご指摘いただきましたので一部修正しました。

LeftRightDoll.py
#!/usr/bin/python3

def left(text, n):
  return text[:n]

def right(text, n):
  return text[-n:]

def mid(text, n, m):
  return text[n-1:n+m-1]
  #str = str[:n+m-1]  #ご指摘により削除
  #return str[-m:]    #ご指摘により削除

#使い方
print(left("abcdefghijklmnopqrstuvwxyz",3))
print(right("abcdefghijklmnopqrstuvwxyz",3))
print(mid("abcdefghijklmnopqrstuvwxyz",10, 5))
結果
$ ./LeftRightDoll.py
abc
xyz
jklmn

あと、例外処理は
https://qiita.com/ty21ky/items/1d591b2180333d4d4961
LibreOffice Pythonマクロ サンプルプログラム(初級者向け)Writer編 No.1
(これもいらないような気がします。)

ライブラリに登録は
https://qiita.com/ty21ky/items/942e8f46441b092fce29
自作のPythonプログラムをパッケージに追加して使用する

引数の有無等のチェックは適宜追加してください。(引数がないと呼び出す側のプログラムでエラーが出るので、不要と思います。文字列がn個より短い場合は、文字列がそのまま返されます。)

6
5
3

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
6
5