文字列の分割・結合
"a,b,c,d".split(",") # ,で分割
"a b\tc\nd".split() # スペース、タブ、改行で分割
"a,b,c".split(",", 1) # 分割は1回に制限 ('b,c'はそのまま)
"a,b,c".rsplit(",", 1) # 分割は1回に制限 ('a,b'はそのまま)
",".join(["a", "b", "c"]) # ,で結合
文字列の置換 (シンプルな置換)
"abcd".replace("ab", "AB") # abをABに置き換える
文字列検索
"abcd".find("a") # あるなら位置を返す
"abcd".find("g") # ないので-1
"abcd".index("a") # あるなら位置を返す
"abcd".index("x") # ない時はエラー
"abcd".startswith("ab") # abで始まっているか
"abcd".endswith("ab") # cdで始まっているか
文字列からascii、asciiから文字列へ変換
ord("a") # アスキーコードを返す
chr(97) # 文字を返す
format関数による文字列フォーマット
"first:{0}, second:{1}".format("a", "b") # インデックスを指定
"first:{x}, second:{y}".format(x="a", y="b") # キーワードで指定
%を使った文字列フォーマット操作
"[%-5.2f]" % (1.2345) # %-5は右にスペース埋めで5桁
"[%06.2f][%+04.1f]" % (1.2345, 6.7890) # %06は左に0埋めで6桁, %+は符号
ハッシュ生成
import hashlib
hashlib.md5("abc".encode('utf-8')).hexdigest()
hashlib.sha256("abc".encode('utf-8')).hexdigest()
文字列の正規表現マッチング
# 完全マッチ
import re
m = re.match(r"\d\d-\d", "12-3")
print(m.group(0)) # "12-34" 完全マッチしないときはNone
m = re.match(r"(\d\d)-(\d)", "12-3") #group取得
print(m.group(0)) # "12-3"
print(m.group(1)) # "12"
print(m.group(2)) # "3"
# 部分一致
m = re.search(r"\d\d\d", "123-4")
print(m.group(0)) #123
文字列の正規表現、置換、分割
import re
re.split(r'[,:]', "a,b:c")