LoginSignup
0
1

More than 5 years have passed since last update.

Pythonを初めて触ってみたメモ(文字列編)

Last updated at Posted at 2018-10-17

はじめに

文字列の操作についてまとめました。

基本操作

初期化

文字列は''で囲うことで認識される。
変数を初期化するときは(変数)='(文字列)'と記述する。

>>> s = 'test'
>>> s
'test'
>>> print(s)
test

インデックス

文字列のインデックスは(文字列)[番号]で表示できる。
番号は0番目からスタートする。

# testの2文字目を表示する
>>> 'test'[1]
'e'
# 変数sの2文字目を表示する
>>> s = 'apple'
>>> s[1]
'p'

インデックスは負の数も指定できる。負の数は後ろから1、2、...と順番付けされる。

# 文字列'test'のうしろから1番目、2番目を表示する
>>> 'test'[-1]
't'
>>> 'test'[-2]
's'
# 変数sのうしろから1番目、2番目を表示する
>>> s = 'apple'
>>> s[-1]
'e'
>>> s[-2]
'l'

連結

  • 文字列は+で連結することができる。
# 2つの文字列を連結する
>>> 'hot' + 'dog'
'hotdog'
# 文字列を持つ変数2つを連結する
>>> s = 'hot'
>>> t = 'dog'
>>> s + t
'hotdog'
  • 文字列を繰り返し連結するときは*を使用する。
>>> 'b' + 'e'*2 + 'r'
'beer'

スライス

スライスとは文字列の連続した一部を抜き出すということ。

例えばappleという文字列だと、以下のようになる。
インデックスの順番と数え方が異なるため、注意する必要がある。

a p p l e
0 1 2 3 4 5
# appleの1文字目と2文字目を表示する
>>> 'apple'[0:2]
'ap'
# appleの4文字名以降を表示する
>>> 'apple'[3:]
'le'
# appleの3文字目までを表示する
>>> 'apple'[:3]
'app'

ステップ

元の文字列から、いくつか飛ばした文字列を作成する場合はステップを使用する。

# 1文字目を表示する
>>> 'あいうえおかきくけこさしすせそ'[0]
'あ'
# 11文字目を表示する
>>> 'あいうえおかきくけこさしすせそ'[10]
'さ'
# 1文字目から14文字目まで5つ飛ばしで表示する
>>> 'あいうえおかきくけこさしすせそ'[0:14:5]
'あかさ'
# 4文字目から14文字目まで5つ飛ばしで表示する
>>> 'あいうえおかきくけこさしすせそ'[3:14:5]
'えけせ'

文字列の長さを数える

文字列の長さを取得するときはlen()を利用する。

>>> len('apple')
5
# 空白もカウントされる
>>> len('I like apple.')
13

定型文に文字列を差し込む(format)

定型文に同じ文字列を挿入したい場合は関数formatを使用する。
formatは関数であり、関数は(変数名).(関数名)(引数)で呼び出すことができる。

# {}でformatで使用する部分を指定できる
>>> s = '{}は「{}」の呪文を唱えた'
# {}には引数が順番に挿入される
>>> s.format('シンドバット', 'ひらけごま')
'シンドバットは「ひらけごま」の呪文を唱えた'

# 引数の番号を指定することができる
>>> s = '{0}は「{1}」の呪文を唱えた。{0}は{3}にダメージ{2}を与えた。'
>>> s.format('プレイヤー','ファイアボール','2000','スライム')
'プレイヤーは「ファイアボール」の呪文を唱えた。プレイヤーはスライムにダメージ2000を与えた。'

置換

文字列を何か別の文字列に置換したいときは関数replaceを使用する。

>>> name = '佐藤 田中 鈴木 佐藤 伊藤'
# 佐藤を山本に置換する
>>> name.replace('佐藤','山本')
'山本 田中 鈴木 山本 伊藤'
# 半角スペースをカンマと半角スペースに置換する
>>> name.replace(' ',', ')
'佐藤, 田中, 鈴木, 佐藤, 伊藤'
0
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
0
1