Python で文字列を確実に分割するにはどうすればよいですか? 文字列がパターンやすべての n 個の要素を含んでいないかもしれません。
2023-10-27 06:23:47
質問
Perlでは、私は行うことができます。
my ($x, $y) = split /:/, $str;
そして、文字列がパターンを含んでいてもいなくても動作します。
しかし、Pythonでは、これは動作しません。
a, b = "foo".split(":") # ValueError: not enough values to unpack
このような場合にエラーを防ぐための正規の方法は何ですか?
どのように解決するのですか?
もし、(あなたの例のように)2つの部分だけに分割する場合には
str.partition()
を使用すると、引数展開のサイズが 3 になることが保証されます。
>>> a, sep, b = 'foo'.partition(':')
>>> a, sep, b
('foo', '', '')
str.partition()
は、セパレータが見つかっても見つからなくても、常に3タプルを返します。
Python 3.xのための別の選択肢は 拡張イテラブルアンパッキング :
>>> a, *b = 'foo'.split(':')
>>> a, b
('foo', [])
これは、最初の分割項目を
a
に、残りの項目があればそのリストを
b
.
関連
-
[解決済み] Pythonで現在時刻を取得する方法
-
[解決済み] 文字列の単語を反復処理するにはどうすればよいですか?
-
[解決済み] Bashで文字列をデリミターで分割するには?
-
[解決済み] Pythonで文字列の部分文字列を取得するにはどうすればよいですか?
-
[解決済み] Pythonで文字列を小文字にするには?
-
[解決済み] 文字列が空かどうかを確認する方法は?
-
[解決済み] Javaで文字列を分割する方法
-
[解決済み] 複数行の長い文字列を作成するためのPythonicな方法
-
[解決済み】JavaScriptで文字列の出現箇所をすべて置換する方法
-
[解決済み] 古いバージョンのPythonにおける辞書のキーの並び順
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Pythonのキャッシュライブラリはありますか?
-
[解決済み] Pythonの構文に新しいステートメントを追加することはできますか?
-
[解決済み] pandasのDataFrameから空のセルを含む行を削除する
-
[解決済み] 古いバージョンのPythonにおける辞書のキーの並び順
-
[解決済み] SQLAlchemy - テーブルのリストを取得する
-
[解決済み] 範囲指定された浮動小数点数のランダムな配列を生成します。
-
[解決済み] subprocess.run()の出力を抑制またはキャプチャするには?
-
[解決済み] Django で全てのリクエストヘッダを取得するにはどうすれば良いですか?
-
[解決済み] Pythonの文字列の前にあるbという接頭辞は何を意味するのですか?
-
[解決済み] Pythonでリストが空かどうかをチェックする方法は?重複