Pythonの文字列処理はRよりもPerlやRubyに近い感じ
Rは統計環境なので文字列が弱くても仕方ないって思います
数値処理をR、文字列処理をPerlやRubyって使い分けた方が効率が良くなるんですね。
そう考えると、数値も文字列も処理できる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%'
とはいえ、なんでも来いに名人なし、ともいうから、使い分けた方がいいってこともありますね