×

[PR]この広告は3ヶ月以上更新がないため表示されています。
ホームページを更新後24時間以内に表示されなくなります。

文字列処理のテスト2

例74 文字列処理のテスト2

[任意]ファイル名: string2.py エンコーディング: UTF-8

#! /usr/bin/python
# -*- coding: utf-8 -*-

# 文字列のテスト2

print ('文字列のテスト#2')

# 連結したい文字列を「+=」の右に付けることで文字列を後ろに追加できる
test = '文字列どうしの連結には'
test += '"+"だけでなく"+="も'
test += '使えます'
print (test)

# 横に10個「-」を並べる
test = '-' * 10
print (test)
# 複数文字のものでも並べることは可能
test = '-+' * 5
print (test)

# 「in」の後ろの文字列の一部に左の文字列が含まれていると条件は真になる
if 'th' in 'python':
  print ('"python"の中には"th"が含まれています')

# 「.[操作ごとの名前]([引数...])」を文字列に付けると色々な操作を行った結果が得られる
test = 'This is a test.'
print ('元の文字列:', test)  # 元の文字列
print ('大文字:', test.upper ())  # 小文字を大文字にしたもの
print ('小文字:', test.lower ())  # 大文字を小文字にしたもの
print ('最初の"a"は', test.find ('a') + 1, '文字め')  # 「d」が最初に見付かった位置(値は0から)
print ('"c"が含まれない場合、find()は', test.find ('c'), 'を返します')  # 文字列がない場合は-1
print ('最初の"e"は', test.index ('e') + 1, '文字め')  # 「e」が最初に見付かった位置(値は0から)
print ('"k"が含まれない場合、index()は')
try:
  print (test.index ('k'))
except ValueError as e:
  print ('ValueErrorという通知(例外)を出します [詳細:{0}]'.format (e))
# find()やindex()などには2文字以上指定できる
# rfind()やrindex()は文字列の後ろから一致箇所を調べる
print ('最初の"is"は', test.find ('is') + 1, '文字めから')
print ('最後の"is"は', test.rfind ('is') + 1, '文字めから')
print ('"is"の数は', test.count ('is'))
# 文字列の最初や最後が一致しているかをチェックできる
if test.startswith ('This'):  # 先頭が「This」なら真
  print ('"This"で始まる文字列です')
if test.endswith ('test.'):  # 末尾が「test.」なら真
  print ('"test."で終わる文字列です')

print ('終わり')

実行例:

文字列のテスト#2
文字列どうしの連結には"+"だけでなく"+="も使えます
----------
-+-+-+-+-+
"python"の中には"th"が含まれています
元の文字列: This is a test.
大文字: THIS IS A TEST.
小文字: this is a test.
最初の"a"は 9 文字め
"c"が含まれない場合、find()は -1 を返します
最初の"e"は 12 文字め
"k"が含まれない場合、index()は
ValueErrorという通知(例外)を出します [詳細:substring not found]
最初の"is"は 3 文字めから
最後の"is"は 6 文字めから
"is"の数は 2
"This"で始まる文字列です
"test."で終わる文字列です
終わり

[注記]メモ

文字列の中の文字の位置は、1文字めが0,2文字めが1というように0から数えるようになっている。

文字数はスペース文字でも数えるので、aは8文字めとして数えられる(上のスクリプトではこれに1足したものを表示している)。

.[操作ごとの名前]([引数...])の形で呼び出すものは文字列メソッドと呼ばれるもので、その文字列にある種の操作をした結果や文字列をもとにした情報を得る。内部的には元の文字列そのものは変更されない。