文字列

公式サイト:

string – 一般的な文字列操作 | Python 3.x ドキュメント [公式]

連結/結合

文字列を + 演算子で連結する。

greeting = "Hello, " + "John"Code language: Python (python)

join 関数を用いて、間にセパレーターを挟んで配列の内容を連結する。

data = ["foo", "bar", "baz"]
csv = ", ".join(data)Code language: Python (python)

ドキュメント:

str.join | Python 3.x ドキュメント [公式]

参考:

+ 演算子/join – 文字列を連結/結合 | note.nkmk.me

String Concatenation | W3Schools

スライス

開始位置と終了位置を指定して、文字列をスライスする。

result = str[start:end]Code language: Python (python)

開始位置を指定して、文字列の最後までスライスする。

result = str[:end]Code language: Python (python)

終了位置を指定して、文字列の最初からスライスする。

result = str[start:]Code language: Python (python)

後ろから数えて、文字列をスライスする。

result = str[-start:-end]Code language: Python (python)

参考:

スライスを使って文字列の指定範囲の部分文字列を取得する | JavaDrive

スライスを用いて文字列の一部を取得/後ろから指定など | Python アカデミー

スライス – 文字列の一部を取得する | ITSakura

インデックスやスライスを使って文字列から一部を抽出するには | @IT

分割する

ドキュメント:

str.split | Python 3.x ドキュメント [公式]

参考:

文字列を分割 (区切り文字/改行/正規表現/文字数) | note.nkmk.me

数値を文字列にフォーマットする

数値をキャストして文字列に変換する。

print("No. " + str(num))Code language: Python (python)

「f 文字列」を使う。

print(f"No. {i:04}")Code language: Python (python)

ドキュメント:

入力と出力 | Python 3.x ドキュメント [公式]

参考:

Concatenate String and int | JournalDev

string and integer concatenation – Stack Overflow

How can I concatenate str and int objects? – Stack Overflow

Making a string out of a string and an integer – Stack Overflow

format

参考:

format で書式変換/0埋め、指数表記、16進数など | note.nkmk.me

format メソッドを使った文字列の書式設定 | JavaDrive

format メソッド – 文字列フォーマットの使い方 | ガンマソフト株式会社

print で桁数を指定して出力する方法 | HEADBOOST

zfill

指定した桁数となるようにゼロ埋めする。

name = "Object_" + "42".zfill(3)Code language: Python (python)

ドキュメント:

str.zfill(width) | Python 3.x ドキュメント [公式]

参考:

文字列/数値をゼロ埋め/ゼロパディング | note.nkmk.me

動的にゼロ埋めする方法 – Qiita

ゼロパディングしたい | Life with Python

0埋めをして桁数を揃える方法 | IT を使っていこう

String zfill() Method | W3Schools

文字列の置き換え (str.replace)

ドキュメント:

str.replace | Python 3.x ドキュメント [公式]

参考:

replace / translate / re.sub / re.subn – 文字列を置換 | note.nkmk.me

raw 文字列

クォーテーションの前に r を付けることでエスケープシーケンスが無効化される。正規表現を記述する際などによく用いられる。

if re.match(r"https:\/\/www\.example.com", url):
    print("Yay!")Code language: Python (python)

ドキュメント:

文字列およびバイト列リテラル | Python 3.x ドキュメント [公式]

参考:

文字列と r – Qiita

raw 文字列の利用 | JavaDrive

エスケープシーケンスを無視/無効化する raw 文字列 | note.nkmk.me

raw 文字列の利用 – エスケープ文字をそのまま文字列として表現する | iPentec

フォーマット文字列/f 文字列 (f-string)

print(f"My name is {name}.")Code language: Python (python)

ドキュメント:

フォーマット済み文字列リテラル | Python 3.x ドキュメント [公式]

参考:

f-strings についてしっかり調べてみた – Qiita

f 文字列 – フォーマット済み文字列リテラルの使い方 | note.nkmk.me

f 文字列 – フォーマット済み文字列リテラルを使った文字列の書式設定 | JavaDrive

フォーマット文字列内での波括弧のエスケープ – Qiita

文字列が標準で f 文字列になるかも – Qiita

書式化演算子/パーセント記号

print("My name is %s. I'm %i years old." % (name, age))Code language: Python (python)

参考:

書式化演算子 % を使った文字列の書式設定/printf 形式の書式化 | JavaDrive

% 演算子を使った古い文字列書式設定 | Snow Tree in June

% 演算子の書式設定において、桁数をアスタリスク (*) で表記する方法 | Snow Tree in June

判定

  • 一致 ==
  • 不一致 !=
  • 包含 in
  • 非包含 not in
  • 前方一致 startswith
  • 後方一致 endswith

参考:

Pythonで文字列を比較 (完全一致/部分一致/大小関係など) | note.nkmk.me

パフォーマンス

参考:

f-string と format とパーセント % の書式の速度の比較 – Qiita

数値に変換する

整数に変換する。

index = int("123")Code language: Python (python)

浮動小数点に変換する。

value = float("1.41421356")Code language: Python (python)

参考:

文字列を数値に変換して数値と演算する | JavaDrive

大文字小文字を変換する

変換
  • capitalize最初の文字を大文字、残りの文字を小文字に変換する
  • casefoldラテン文字の畳み込みを適用する
  • lower小文字に変換する
  • title
  • upper大文字に変換する
判別
  • islower
  • isupper
  • isidentifier
  • istitle

ドキュメント:

文字列メソッド | Python 3.x ドキュメント [公式]

参考:

大文字/小文字を操作する文字列メソッド一覧 | note.nkmk.me

lower / upper / capitalize / title / swapcase – 大文字と小文字を変換する | JavaDrive

lower Method | W3Schools

How do I lowercase a string? – Stack Overflow

改行コードを変換する

CRLF を LF に変換するために、CR を取り除く。

text = text.replace("\r", "")Code language: Python (python)

参考:

テキストファイルの改行コードを CRLF から LF に変換するには | 山本隆の開発日誌

ファイル読込み時に CRLF が LF になる件 – Qiita

ファイルの改行コードを一括で LF へ変換する | Python と VBA で世の中を便利にする

改行コード LF のテキストファイルを作成する | Python と VBA で世の中を便利にする

バイト列を文字列に変換する (bytes)

ドキュメント:

bytes.decode | Python 3.x ドキュメント [公式]

Unicode How To | Python 3.x ドキュメント [公式]

参考:

bytes 型と str 型の比較と変換方法 | Python Snippets

bytes 型を str 型に変換する | なるぽのブログ

文字列とバイト列の相互変換と16進数表示 – Qiita

文字列の str 型と bytes 型のまとめ – Qiita

文字列をデコードする | murashun.jp

文字列リテラル

文字列を拡張する f / r / b / u について (Kai) | LSC PSD

エスケープ/エンコード/デコード

ドキュメント:

str.encode | Python 3.x ドキュメント [公式]

bytes.decode | Python 3.x ドキュメント [公式]

Unicode HOWTO | Python 3.x ドキュメント [公式]

参考:

文字列を Unicode エスケープ/アンエスケープした文字列を得る – Qiita

Unicode エスケープされた文字列/バイト列を変換 | note.nkmk.me

encode / decode – 文字列と文字コードを相互に変換 | エンジニアくま Blog

string_escape vs unicode_escape – Stack Overflow

Is there any need of using unicode_escape encoding? – Stack Overflow

unicode_escape without deprecation warning – Stack Overflow

URL エンコード

ドキュメント:

urllib.parse.quote | Python 3.x ドキュメント [公式]

参考:

urllib.parse.quote / unquote – URL エンコード/デコード | note.nkmk.me

マジックコメント

参考:

Magic Comment | Tech 控え帳

codecs

ドキュメント:

codecs – codec レジストリと基底クラス | Python 3.x ドキュメント [公式]

まとめ

文字列の置換/検索/後方参照 | バイオインフォマティクス

文字列の書式指定とフォーマット | Python 入門

文字列とバイト列の相互変換と16進数表示 – Qiita

記事をシェアする:
タグ:

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

Protected by reCAPTCHA