読者です 読者をやめる 読者になる 読者になる

牌語備忘録 -pygo

あくまでもメモです。なるべくオフィシャルの情報を参照してください。

牌語備忘録 -pygo

Python Quick Reference をゆっくり参照してみた 05 文字列 (str 型・unicode 型) の演算

Python

以下を参照。

>>> s = "abc def ghi jkl mno"
>>> s.capitalize()
'Abc def ghi jkl mno'
>>> s
'abc def ghi jkl mno'
>>> "*" * 50
'**************************************************'
>>> s.center(50)
'               abc def ghi jkl mno                '
>>> s.count("g")
1
>>> s.count(" ")
4
>>> s.endswith('a')
False
>>> 
>>> s.endswith('o')
True
>>> s.endswith('c',0 ,3)
True
>>> tab_str = "tab\ttab\ttab"
>>> tab_str.expandtabs()
'tab     tab     tab'
>>> tab_str.expandtabs(4)
'tab tab tab'
>>> s.find("h")
9
>>> s.find(" ")
3
>>> s.find("z")
-1
>>> s.index("h")
9
>>> s.index(" ")
3
>>> s.index("z")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: substring not found
>>> "abc123".isalnum()
True
>>> "abc".isalpha()
True
>>> "123".isdigit()
True
>>> "abc".islower()
True
>>> " ".isspace()
True
>>> "Abc".istitle()
True
>>> "ABC".isupper()
True
>>> ",".join(['A', 'B', 'C'])
'A,B,C'
>>> "*" * 50
'**************************************************'
>>> "abc".ljust(50)
'abc                                               '
>>> "abc".rjust(50)
'                                               abc'
>>> "abc".center(50)
'                       abc                        '
>>> "ABC".lower()
'abc'
>>> " abc ".lstrip()
'abc '
>>> " abc ".lstrip(" ")
'abc '
>>> "def".lstrip("d")
'ef'
>>> "abcdefg".replace("cde","HOGEHOGE")
'abHOGEHOGEfg'
>>> s
'abc def ghi jkl mno'
>>> s.rfind("h")
9
>>> s.rfind("h")
9
>>> s.rfind("h")
9
>>> s.rfind(" ")
15
>>> s.rfind("z")
-1
>>> s.rindex("h")
9
>>> s.rindex(" ")
15
>>> s.rindex("z")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: substring not found
>>> " abc ".rstrip()
' abc'
>>> " abc ".rstrip(" ")
' abc'
>>> "def".rstrip("f")
'de'
>>> s
'abc def ghi jkl mno'
>>> s.split(" ")
['abc', 'def', 'ghi', 'jkl', 'mno']
>>> s.rsplit(" ") #?
['abc', 'def', 'ghi', 'jkl', 'mno']
>>> "123\n456\n789".splitlines()
['123', '456', '789']
>>> s.startswith('a')
True
>>> s.startswith('o')
False
>>> s.startswith('d',4 ,10)
True
>>> " abc ".strip()
'abc'
>>> " abc ".strip(" ")
'abc'
>>> "def".strip("d")
'ef'
>>> "def".strip("f")
'de'
>>> "aBcDeF".swapcase()
'AbCdEf'
>>> s
'abc def ghi jkl mno'
>>> s.title()
'Abc Def Ghi Jkl Mno'
>>> table = map(chr, range(0, 256))
>>> table[ord('c')] = 'Z'
>>> s.translate("".join(table))
'abZ def ghi jkl mno'
>>> import string
>>> s.translate(string.maketrans("ceg","ZYX"))
'abZ dYf Xhi jkl mno'
>>> string.maketrans("ceg","ZYX")
'\x00\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f !"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abZdYfXhijklmnopqrstuvwxyz{|}~\x7f\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7\xa8\xa9\xaa\xab\xac\xad\xae\xaf\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7\xe8\xe9\xea\xeb\xec\xed\xee\xef\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff'
>>> 
>>> s.upper()
'ABC DEF GHI JKL MNO'
>>> s.zfill(50)
'0000000000000000000000000000000abc def ghi jkl mno'
>>> s
'abc def ghi jkl mno'
>>> 


Quick Referenceで『center』が2回でてくるのは何でだろ?(『s.center(width[, fillChar=' '])』と『s.ljust/rjust/center(width[, fillChar=' '])』)


s.decode()とs.encode()は別の機会に。


translateは『2007-08-27 - かせきのうさぎさん』さんを参考にしました。
stringは将来的になくなるはずなのにstring.maketransの変わりになるものは無い?


この文字列まわりは英語圏の人には便利そうだけど、個人的に使いそうなのは

A よく使う

join
split
replace

B 使う時ある

decode、encode
strip

C 必要なとき使うと便利

capitalize
lower
title
upper
count
find


かな(´・ω・`)