様々な言語での文字列操作をまとめていきたいと思います。
随時言語を追加していきます。
目次
文字列の結合
Python
str = str1 + str2
str = ','.join(list) #','を区切り文字に指定してリストを結合
str = str1*n #n回同じ文字列を繰り返す
値の埋め込み
Python
'%s, %s!' % ('Hello', 'world') #'Hello, world! 'printf形式(Cの項を参照)
'%(x)s, %(y)s!' % {'x':'Hello', 'y':'world'} #'Hello, world!' printf形式、辞書参照
format関数
'{0}, {1}'.format('Hello','world') #'Hello, world'
'{0:30}'.format('aa') #桁数指定(30)
'{0:<30}'.format('aa') #左揃え
'{0:>30}'.format('aa') #右揃え
'{0:^30}'.format('aa') #中央揃え
'{0:*<30}'.format('aa') #埋め文字(*)指定
'{:+}'.format(10) #符号を表示
'{:-}'.format(-10) #負号のみ表示
'{: }'.format(10) #負号のみ表示、正の場合は' 'を表示
'{:.3}'.format(3.1415) #3.14 桁数(3)を指定
'{:.3f}'.format(3.1415) #3.142 小数点以下の桁数(3)を指定
'{:,}'.format(5000000000000000) #3桁カンマ区切り
'{:.2%}'.format(30.0/113.1) #'26.53%' パーセント表示
'10:{0:d},16:{0:x},8:{0:o},2:{0:b}'.format(12) #進数を指定(16進数ではx:小文字、X:大文字)
'{:%Y-%m-%d %H:%M:%S}'.format(date) #日付
###C
sprintf(s, "%s %s", "Hello", "world") //Hello, world sに代入(s:char[])
詳細はprintf関数の項を参照
文字列の切り出し
Python
str = 'ABCDEFGH'
str[1] #'B' 2文字目
str[1:3] #'ABC' 2文字目から3文字目
str[3:] #'DEFGEH' 4文字目以降
str[:3] #'ABC' 3文字目まで
str[-3:] #'FGH' 右から3文字
文字列の置換
Python
str = str1.replace(from, to)
str = str1.replace(from, to, count) #個数を指定して置換
正規表現を使う場合
import re
pattern = re.compile('(r.*a)$')
str = pattern.sub('\1', sur1)
文字列の分割
Python
list = str.split() #空白で分割
list = str.split(',') #,で分割
文字列検索
Python
str = 'ABCDEFABC'
str.find('BC') #1 前方から検索
str.rfind('BC') #7 後方から検索
str.find('KK') #-1 存在しないときは-1を返す
str1 in str #文字列が含まれるかどうか
str.count(str1) #strに含まれるstr1の数を数える
正規表現を使う場合
import re
pattern = re.compile('(r.*a)$')
m = pattern.search('\1', start) #start:検索開始位置(0スタート)
m.start() #開始位置を返す
m.end() #終了位置を返す
大文字・小文字
Python
str = str1.upper()
str = str1.lower()
数字かどうかのチェック
Python
str.isdigit()