Pythonでの文字列操作

python-strings.png

文字列の一部を取り出す

>>> s = "python"
>>> s[2]        # 2番目の要素を取り出す
't'
>>> s[1:4]      # インデックス番号1~4の3文字を取り出す
'yth'
>>> print s[2:] # 2番目から末尾までの文字を取り出す
そん
>>> s[0] = "P"  # 文字列は不変なので、要素への代入は不可
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'str' object does not support item assignment

改行を取り除く

ご親切にもなにかと改行してくちゃうpython
改行を取り除きたい時がある。

stringオブジェクトのrstrip()メソッドを使う.
for line in sys.stdin :
    line = line.rstrip()
    ...

rstrip()は行末の空白文字を取除く.
空白文字とはstring.whitespaceで定義されているように ‘t’, ‘n’, ‘r’, ‘v’, ‘f’ である.
本当に改行コードだけを削除する場合は,rstrip()に削除する文字を引数として渡せばよい.
for line in sys.stdin :
   line = line.rstrip('rn')
   ...

tokenize ある特定の文字で区切る

filename="name_1024_z128_2byte.dat"
splitted=filename.split('_');
for s in splitted:
    print(s);

出力結果
name
1024
z128
2byte.dat

文字列を調べる

次の構文を使用すると、指定の文字列が含まれているかを調べることができます。

検索する文字列 in 検索対象の文字列

検索対象の文字列の中に、検索する文字列が存在していれば、Trueになり、そうでなければ、Falseとなります。

# coding: utf-8
a = 'abcabc'
# 検索する文字列が存在する場合
print('bca' in a)
# 検索する文字列が存在しない場合
print('abcd' in a)

string

サポートサイト Wikidot.com string