日々のつれづれ

不惑をむかえ戸惑いを隠せない男性の独り言

Pythonで文字列処理

Pythonの文字列処理はRよりもPerlRubyに近い感じ

Rは統計環境なので文字列が弱くても仕方ないって思います
数値処理をR、文字列処理をPerlRubyって使い分けた方が効率が良くなるんですね。
そう考えると、数値も文字列も処理できるPythonは便利な気がします
どうかな?

文字列操作

文字列操作関数一覧

関数 意味 出力
+ 結合 'a' + 'b' 'ab'
* 繰り返し 'a' * 3 'aaa'
str() 数字を文字列に変換 str(100) '100'
.upper() 小文字を大文字に変換 'abCdE'.upper() 'ABCDE'
.lower() 大文字を小文字に変換 'aBcDE'.lower() 'abcde'
replace() 文字列を置換 'abcde'.replace('a','A') 'Abcde'
[n] (n-1)番目の文字の抜き出し 'abcde'[0] 'a'
[-1] 最期の文字の抜き出し 'abcde'[-1] 'e'
[n:m] (n+1)番目からm番目までの文字の抜き出し 'abcde'[1:3] 'bc'
split() 分割 'abcde'.split('c') ['ab', 'de']
join() 要素を連結する '-'.join(['a','B','c']) 'a-B-c'
in 文字が含まれるか調べる 'd' in 'abcde' True
count() 指定の文字を含む数を調べる 'abcdeaacde'.count('a') 3
strip() 左右の空白を削る ' abc de '.strip() 'abc de'
lstrip() 左の空白を削る ' abc de '.lstrip() 'abc de '
rstrip() 右の空白を削る ' abc de '.rstrip() ' abc de'
list() 1文字ごとに分ける list('abcde') ['a', 'b', 'c', 'd', 'e']
a = 'apple'
b = 'pen'
a + b
'applepen'
c = 'pineapple'
d = [b, c] + [a, b]
d
['pen', 'pineapple', 'apple', 'pen']
d = '-'.join(d)
d
'pen-pineapple-apple-pen'
d.split('-')
['pen', 'pineapple', 'apple', 'pen']
'pen' in d
True
d.count('pen')
2
d.replace('pen','longpen')
'longpen-pineapple-apple-longpen'
str(100)
'100'
'akira' + str(100) + '%'
'akira100%'

とはいえ、なんでも来いに名人なし、ともいうから、使い分けた方がいいってこともありますね