0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Python】文字列操作について

Last updated at Posted at 2024-08-18

はじめに

Pythonにおける文字列操作についてはとても便利なため、使用方法を紹介したいと思います。
文字列操作についてはJavaの場合、先頭2文字を取得する場合は"abcdef".substring(0,2)と記載しますが、Pythonの場合、先頭2文字を取得したい場合は"abcdef"[0:2]とすれば先頭2文字を取得できます。
コードがとても簡易的です。

ということでPythonの文字列操作について紹介したいと思います。

Python基本構文については【Python入門】基礎構文のまとめでまとめてますので、参考にしてください。

文字列操作について

演算 概要
s[:i] s[0:i] 文字列sの0番目の要素からi番目未満の要素まで取得 s[:5]の場合、0番目の要素から5番目未満の要素までの文字列を取得します
s[i:] 文字列sのi番目の要素から全ての文字列を取得 s[5:]の場合、5番目の要素から全ての文字列を取得します
s[i:j] 文字列sのi番目の要素からj番目未満の要素までを取得 s[5:6]の場合、5番目の要素から6番目未満の要素までの文字列を取得します。即ち6番目の要素のみ取得します
s[i:j:k] 文字列sのi番目の要素からj番目未満の要素のうち、k毎の要素を取得(k=2の場合、2つとばしで取得という意味 s[1:6:2]の場合、1番目の要素から6番目未満の要素のうち、1番目の要素から2つとばしの要素のみを取得します

文字列sの0番目の要素からi番目未満の要素まで取得

要素0番目から5番目未満の文字列を取得

    str = 'abcdefghijklmnopqrstuvwxyz'
    print(str[0:5])

    print結果:abcde
    str = 'abcdefghijklmnopqrstuvwxyz'
    print(str[:5])

    print結果:abcde

0番目の要素から1000番目未満の文字列を取得。文字列以上の要素を指定してもエラーにはならず取得できます(賢いです)

    str = 'abcdefghijklmnopqrstuvwxyz'
    print(str[0:1000])

    print結果:abcdefghijklmnopqrstuvwxyz

文字列sのi番目の要素から全ての文字列を取得

要素5番目から全ての文字列を取得

    str = 'abcdefghijklmnopqrstuvwxyz'
    print(str[5:])

    print結果:fghijklmnopqrstuvwxyz

文字列sのi番目の要素からj番目未満の要素までを取得

0番目の要素から5番目未満の要素までを取得

    str = 'abcdefghijklmnopqrstuvwxyz'
    print(str[1:5])

    print結果:bcde

文字列以上の要素を指定した場合は全ての要素を取得(賢いですね)

    str = 'abcdefghijklmnopqrstuvwxyz'
    print(str[0:1000])

    print結果:abcdefghijklmnopqrstuvwxyz

文字列sのi番目の要素からj番目未満の要素のうち、k毎の要素を取得

1番目の要素から5番目の要素未満の内、2つとばしの要素を取得

    str = 'abcdefghijklmnopqrstuvwxyz'
    print(str[1:5:2])

    print結果:bd

ステップをマイナスにすることでreverseして取得することが可能となります
また開始位置を指定しない場合、末尾の'z'から取得されるため
str[::-1]str[-1::-1]は同等となります。

    str = 'abcdefghijklmnopqrstuvwxyz'
    print(str[::-1])

    print結果:zyxwvutsrqponmlkjihgfedcba
    str = 'abcdefghijklmnopqrstuvwxyz'
    print(str[-1::-1])

    print結果:zyxwvutsrqponmlkjihgfedcba

ステップに-2をしてすることでreverse取得しつつ、2つとばしとなります。

    str = 'abcdefghijklmnopqrstuvwxyz'
    print(str[::-2])

    print結果:zxvtrpnljhfdb

まとめ

文字列から部分的に文字を取得する場合、コロンを使用することで部分文字列を取得できます。
文字列[開始位置:終了位置:ステップ]

0
0
2

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
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?