# -*- coding: utf-8 -*- # 文字列の生成 s = "abc" s = 'abc' s = """abc def""" s = '''abc def''' # 複数行にまたがる場合は \ (バックスラッシュ文字) を使う # 改行は文字列の中に含まれない s = "abc\ def" s = ("abc" "def") # 接頭文字 (r, R, u, U, ur, UR, Ur, uR) s = r"abc\ndef" # raw文字列 (エスケープシーケンスもそのままの文字になる) s = R"abc" s = u"abc" # Unicode文字列 s = U"abc" s = ur"abc" # Unicode & raw s = UR"abc" s = Ur"abc" s = uR"abc" # 文字列の結合 (文字列リテラルどうしなら + なしでも結合できる) s = "abc" " def " + s + "abc" + " def" s = "abc" * 3 # s = "abc" + "abc" + "abc" と同じ # 文字列フォーマットの操作 (d, i, o, u, x, X, e, E, f, F, g, G, c, r, s, %) # 結果は "abc, 123, 456.789000" s = "%s, %d, %f" % ("abc", 123, 456.789) # 変換フラグ文字 ("#", "0", "-", " ", "+") # 結果は "'001', '1 ', ' 1,-1', '+1', '456.789'" s = "'%03d', '%-4d', '% d:% d', '%+d', '%.3f'" %(1, 1, 1,-1, 1, 456.789) # 指定した位置の文字を取得する s = s[0] # スライスする s = "abcdefg0123456789"[0:10] # s[i:j:k]: s の i 番目から j 番目まで、k 毎のスライス s = "abcdefg"[0:7:2] # "aceg" となる # 文字列が存在するか調べる b = "ac" in s b = "ac" not in s # 長さを取得する i = len(s) # 最大の要素を取得する s = max("abcdefg") # "g" が返される # 比較する b = "abc" == "def" i = cmp("abc", "def") # 最小の文字を取得する s = min("abcdefg") # "a" が返される # for文で処理する for c in s: print c # 文字列型の継承 class A(str): pass
文字列メソッド
# 分割してリストで返す ls = "ab cd ef".split() # 大文字に変換した文字列を返す s = "hello".upper() # 小文字に変換した文字列を返す s = "HELLO".lower() # 前後の空白を除去した文字列を返す s = " hello ".strip() # 最初の文字を大文字に変換した文字列を返す s = "hello".capitalize() # 全てのタブ文字を空白で展開された文字列を返す s = " hello".expandtabs(4) # ユニコードに変換する us = "hello".decode("utf-8") # エンコードする s = "hello".encode("shift-jis") # シーケンスを結合する s = " ".join(["hello", "world"]) # "hello world" となる # 文字列が引数で終わっているか調べる b = "img.jpg".endswith(".jpg") # 引数で始まっているか調べる b = "abcde".startswith("abc") # 英数文字かか調べる b = "hello123".isalnum() # 英文字か調べる b = "hello".isalpha() # 数字か調べる b = "123".isdigit() # 小文字か調べる b = "hello123".islower() # 大文字か調べる b = "HELLO123".isupper() # 空白文字か調べる b = " ".isspace() # 引数が出現する回数を返 i = "a12b12c12d12e".count("12") # 引数の出現位置を取得する(存在しないなら -1) i = "abcdefg".find("e") # 置き換える s = "a,b,c,d,e".replace(",", "1")
文字列の連結は
リストに文字列を追加し
文字列メソッドのjoinで文字列に変換する
ls = [] for i in range(100): ls.append(str(i)) s = "".join(ls)
詳細はドキュメントで
0 件のコメント:
コメントを投稿