メインコンテンツにスキップ
モジュール 4 · レッスン 1 / 4コース内の 13/36~12 min
モジュールのレッスン (1/4)

文字列メソッド

Python の文字列は 不変: 文字列を「変更」するすべてのメソッド 実際には 新しい文字列を返します。元の文字列はそのまま残ります。

Python
s = "Ciao"
s.upper()   # 'CIAO'   (nuova stringa)
s           # 'Ciao'   (originale invariata)

「更新」するには、結果を割り当てます: s = s.upper()。

大文字、小文字、大文字と小文字の制御

Python
"Ciao".upper()        # 'CIAO'
"CIAO".lower()        # 'ciao'
"ciao mondo".title()  # 'Ciao Mondo'
"ciao".capitalize()   # 'Ciao'
"CiAo".swapcase()     # 'cIaO'

クリーンアップ: strip

端から 空白 (スペース、タブ、改行) を削除します。

Python
"  ciao  ".strip()       # 'ciao'
"  ciao  ".lstrip()      # 'ciao  '
"  ciao  ".rstrip()      # '  ciao'
"___ciao___".strip("_")  # 'ciao'   (argomento = caratteri da togliere)

分割して再結合: split / join

Python
"a,b,c".split(",")          # ['a', 'b', 'c']
"  ciao  mondo".split()     # ['ciao', 'mondo']   (split su whitespace, salta i vuoti)
",".join(["a", "b", "c"])  # 'a,b,c'

基本的なイディオム: "separator".join(list_of_strings)。すべての要素 文字列である必要があります。それ以外の場合は TypeError です。

代替品: replace

Python
"ciao mondo".replace("mondo", "Python")   # 'ciao Python'
"aaaa".replace("a", "b", 2)               # 'bbaa'   (max 2 sostituzioni)

コンテンツテスト

Python
"image.png".endswith(".png")   # True
"http://".startswith("http")    # True
"ciao" in "ciao mondo"          # True   (operatore in)
"ciao mondo".find("mondo")      # 5      (-1 se non trovato)
"ciao mondo".count("o")         # 2

部分文字列が存在しない場合、find は -1 を返します。 index は代わりに発生します ValueError。

文字列は不変です

Python では、文字列は 不変です。元の文字列を変更する文字列メソッドはありません。代わりに、常に新しい文字列を返します。 s.upper() と記述すると、変数 s は変更されません。変更を保存するには、s = s.upper() を再割り当てする必要があります。

試してみてください

運動#python.m4.l1.e1
試行回数: 0読み込み中…

`name = ' Ada Lovelace '` とすると、エッジ スペースを含まず、すべて小文字で `cleaned` を `name` として計算します。 「きれいになった」を評価します。

エディターを読み込み中…
ヒントを表示

最初にstrip()、次に lower() というようにメソッドを連鎖させます。

3 回の試行後に解決策が利用可能になります

復習演習

運動#python.m4.l1.e2
試行回数: 0読み込み中…

`csv = 'mela,pera,kiwi'` とすると、カンマで分割してリスト `fruits` を取得し、`/' で結合した `slash_ Separated` を再構築します。 `slash_ Separated`を評価します。

エディターを読み込み中…
ヒントを表示

分割はバラバラにしますが、結合は元に戻します。

3 回の試行後に解決策が利用可能になります

追加の課題

運動#python.m4.l1.e3
試行回数: 0読み込み中…

文字列 \`raw_text = " hello world "\` を指定すると、\`.strip()\` で先頭と末尾の空白を削除し、テキストを大文字に変換します。クリーンアップされた結果を \`clean_text\` に保存し、評価します。

エディターを読み込み中…
ヒントを表示

呼び出しをチェーンに結合します: raw_text.strip().upper()。

3 回の試行後に解決策が利用可能になります