理系母の趣味はプログラミング

理系院卒、メーカー技術職の二児の母が、PythonやVBAで色々と作ってアップしていくブログです。

【8日目】文字列を操ってみる①

こんばんは、なぺです。

リストの次はタプルとか辞書とかあったのですが、リストと似たようなものなので、省きます。

というわけで今日は文字列操作!

文字列コネコネします。

 

・インデックス

リストでもありましが、文字列でも使えます。

文字列中の文字をインデックスで指定して取り出してみます。
まずは文字列napeを用意。

>>> text="nape"
>>> text
'nape'

インデックス指定で取り出します。

>>> text[0]
'n'
>>> text[1]
'a'
>>> text[2]
'p'
>>> text[3]
'e'

これも0からなので、napeは4文字でも要素4はありません。

>>> text[4]
Traceback (most recent call last):
  File "<pyshell#6>", line 1, in <module>
    text[4]
IndexError: string index out of range

ちゃんとエラーがでました。

ちなみにマイナスインデックスを使うと、文字列のおしりから数えて取り出せます。

>>> text[-1]
'e'
>>> text[-2]
'p'

・文字列を連結する
文字列の足し算ができます。

>>> "nape"+"hoge"
'napehoge'

掛け算もできます。

>>> "nape"*5
'napenapenapenapenape'

・大文字小文字

文字列を大文字にするにはupperメソッド。

>>> "nape".upper()
'NAPE'

小文字にするにはlowerメソッド。

>>> 'NAPE'.lower()
'nape'

先頭だけ大文字にする(キャピタライズ)にはcapitalizeメソッド。

>>> 'nape'.capitalize()
'Nape'

・書式化
formatメソッドを使って、穴埋め形式で文字列を組み立てます。
穴埋めしたいところには波かっこ{}です。

>>> "私は{}です".format("なぺ")
'私はなぺです'

変数も渡せます。

who = input("誰が:")
when = input("いつ:")
where = input("どこで:")
do = input("どうした:")

text="{}が{},{}で{}。".format(who,when,where,do)
print(text)

実行し、inputにひとつずつ入力すると

誰が:なぺ
いつ:昨日
どこで:道端
どうした:拾った
なぺが昨日,道端で拾った。

このように文章ができあがりました。

・文字列を分割する
splitメソッドを使って文字列を分割します。

>>> "生麦生米生卵".split("生")
['', '麦', '米', '卵']

このように、splitメソッドの引数に、分割したい文字を入れると、その文字で分割した文字列をリスト形式で返してくれます。

・結合
joinメソッドを使うと、好きな文字を接着剤のようにして文字列を結合できます。

cat="さかもと"
new=",".join(cat)
print(new)

実行すると下記のようになります

さ,か,も,と

joinメソッドの引数にリストを渡すと、要素ごとに結合します。

member = ["yukko","mio","mai","nano"]
matome = " ".join(member)
print(matome)

出力結果↓

yukko mio mai nano

今回はここまで!
淡々とやってしまいました
多分次回も淡々回です。

それではまた!