Pyhtonの基礎復習はこれだけ　~3~

#6.文字列操作
###シングルクォート、ダブルクォート
文字列にシングルクォートを含む場合、文字列をダブルクォートで囲むことでエラーを回避できる。

```python
spam = "That is Alice's cat"
```

###エスケープ文字
しかし、シングルクォートとダブルクォートの両方を使いたいときはエスケープ文字を用いることで回避できる。

| エスケープ文字|意味| 
|:-:|:-:|
|\'|シングルクォート|
|\"|ダブルクォート|
|\t|タブ|
|\n|改行|
|\\\|バックスラッシュ|

```Python
print("Hello there!\nHow are you?\nI\'m doing fine\t."
Hello there!
How are you?
I'm doing fine	.
```

windowsでは、 \ は ¥ になる。

###raw文字列
クォート文字の前 __r__ に付けると文字列のエスケープ文字を無視する。

```Python
print(r'That is Carol\'s cat.')
That is Carol\'s cat.
```

###三連クォート

三連クォートを用いればエスケープ文字を使う必要がなくなる。
Pythonの字下げルールも適用されない。

```Python
print('''Dear Alice,

Eve's cat has been arrested for catnapping, cat burglary, and extortion.

Sincerely,
Bob''')

Dear Alice,

Eve's cat has been arrested for catnapping, cat burglary, and extortion.

Sincerely,
Bob
```

###複数行コメント

 #記号はつけた場所から文末までコメントを挟み込むことができる。
複数行にわたってコメントを入れたいとき以下のようには"""で囲む。

```Python
def spam():
    """これはspam()関数の動きを説明するための、
    複数行コメントです。"""
    print('Hell!')　　
```

###文字列のインデックスとスライス
文字列もリストと同様にインデックスとスライスを適用することができる。

###便利な文字列メソッド

- upper()

文字列の全てを大文字にして返す。

```Python
spam = 'Hello world'
sapam = spam.upper()
spam
'HELLO WORLD'
```

- lower() 

文字列の全てを小文字にして返す。

```Python
spam = 'Hello world'
sapam = spam.lower()
spam
'hello world'
```

- isupper()

1文字以上の全ての英字が大文字ならTrueを返す。

```Python
HELLO.isupper()
True
```

- islower()

1文字以上の全ての英字が小文字ならTrueを返す。

```Python
hello.islower()
True
```

###isXという文字列メソッド

- isalpha()

一文字以上の英字のみで構成されているときTrueを返す。

```Python
'hello'.isalpha()
True
```

- isalnum

一文字以上の英字、数字のみのときTrueを返す。

```Python
'hello123'.isalnum()
True
```

- isdecimal

一文字以上の数字のみで構成されているときTrueを返す。

```Python
'123'.isdecimal()
True
```

- isspace

スペースかタブか改行だけで構成されているときTrueを返す。

```Python
' '.isspace()
True
```

- istitle

大文字から始まり残り全ての英字が小文字で構成されているときTrueを返す。

```Python
Apple.istitle()
True
```

###startswith()メソッド、endswith()メソッド
対称の文字列がメソッドに渡された文字列から始まるか、終わる場合にTrueを返す。

```Python
'Hello world!'.startswith('Hello')
True
'Hello world!'.endswith('World!')
True
```

###join()メソッド、split()メソッド

- join()メソッド

文字列のリストを一つの文字列に連結する。

```Python
','.join(['cats','rats','bats'])
'cats,rats,bats'
'ABC'.join(['cats','rats','bats'])
'catsABCratsABCbats'
```

- split()メソッド

文字列を指定した文字で区切り、リストにする。

```Python
'My name is Simon'.split()
['My','name','is','Simon']
'MyABCnameABCisABCSimon'.split(ABC)
['My','name','is','Simon']
```

###テキストをそろえる

- rjust()メソッド
- ljust()メソッド

文字列が指定した数値より大きいとき、その分だけ指定した文字を右、もしくは左に加える。

```Python
'Hello'.rjust(10, '*')
'*****Hello'
'Hello'.ljust(10, '*')
'Hello*****'
```

- center()メソッド

文字列が指定した数値より大きいとき、その分だけ指定した文字を左右に加える。

```Python
'Hello'.center(10, '*')
'**Hello***'
'Hello'.center(10)
'  Hello   '
```

###strip()メソッド、rstrip()メソッド、lstrip()メソッド

文字列の左端、右端、両端から指定した文字を消すときに用いる。

```Python
spam = '     Hello world  '
spam.strip()
'Hello world'
spam.lstrip()
'Hello world  '
spam.rstrip()
'     Hello world'
```

また、引数を渡すことで以下のように文字を消すこともできる。
引数のアルファベットの順番は任意になるので以下のようになる。

```Python
spam = 'SpamSpamBaconSpamEggsSpamSpam'
spam.strip(ampS)
BaconSpamEggs
```

###pyperclipモジュール

pyperclipモジュールにはcopy()、paste()関数がある。
コンピュータのクリップボードにコピーしたり、ペーストすることができる。

```Python
import pyperclip
pyperclip.copy('Hello world!')
pyperclip.paste()
'Hello world!'
```

#続き

Pythonの基礎復習はこれだけ~4~
※当分の間、４つ目の記事は出ません。それまでは作成物や他の言語の基礎復習を載せます。

__初めから__
[Pythonの基礎復習はこれだけ~1~](https://qiita.com/skyapl/items/866f3b0d81fd6410123d)