Pythonには文字列の一部を取り出すメソッドが無いかな?と思って検索していたら海外の質問コーナーで同じ質問を見つけました。
その回答欄にプログラムがあったのでそれを今迄使っていました。
他にも訳のわからない回答があったのですが???
ブックマークに登録していたので今日たまたま開いて、最後まで読んで意味がわからないが書いてあることを実行したら、あれ、Left$
,Right$
,Mid$
関数ってPythonには最初から機能がついている!!
記憶力が悪いのでライブラリに登録することにしました。
コメントにてご指摘いただきましたので一部修正しました。
# !/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個より短い場合は、文字列がそのまま返されます。)