[解決済み】Pythonの文字列の最後のデリミタで分割する?
2022-03-27 21:04:41
質問
で文字列を分割するためのPythonの推奨イディオムは何ですか? 最後の は文字列中の区切り記号の出現を意味するのでしょうか? 例を示します。
# instead of regular split
>> s = "a,b,c,d"
>> s.split(",")
>> ['a', 'b', 'c', 'd']
# ..split only on last occurrence of ',' in string:
>>> s.mysplit(s, -1)
>>> ['a,b,c', 'd']
mysplit
は、分割するデリミタの出現位置を第2引数として取ります。通常のリストインデックス作成と同様です。
-1
は最後から2番目という意味です。これはどうすればいいのでしょうか?
どのように解決するのですか?
使用方法
.rsplit()
または
.rpartition()
の代わりに
s.rsplit(',', 1)
s.rpartition(',')
str.rsplit()
は分割する回数を指定することができます。
str.rpartition()
は一度だけ分割されますが、常に固定数の要素 (prefix, delimiter & postfix) を返し、一度の分割の場合はより高速になります。
デモ
>>> s = "a,b,c,d"
>>> s.rsplit(',', 1)
['a,b,c', 'd']
>>> s.rsplit(',', 2)
['a,b', 'c', 'd']
>>> s.rpartition(',')
('a,b,c', ',', 'd')
どちらの方法も、文字列の右側から分割を始めます。
str.rsplit()
を第2引数にとれば、右端の出現箇所だけを分割することができます。
関連
-
PythonによるExcelファイルの一括操作の説明
-
[解決済み] JavaScriptで文字列が部分文字列を含むかどうかを確認する方法は?
-
[解決済み] C#のStringとstringの違いは何ですか?
-
[解決済み] Pythonには文字列の'contains'サブストリングメソッドがありますか?
-
[解決済み] 文字列の単語を反復処理するにはどうすればよいですか?
-
[解決済み] バイトを文字列に変換する
-
[解決済み] 最小限の驚き」と「変更可能なデフォルトの引数
-
[解決済み] Bashで文字列をデリミターで分割するには?
-
[解決済み】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の非常に便利な2つのデコレーターを解説
-
ピロウズ画像色処理の具体的な活用方法
-
Pythonによるjieba分割ライブラリ
-
python implement mysql add delete check change サンプルコード
-
Pythonを使って簡単なzipファイルの解凍パスワードを手作業で解く
-
[解決済み】お使いのCPUは、このTensorFlowバイナリが使用するようにコンパイルされていない命令をサポートしています。AVX AVX2
-
[解決済み】ilocが「IndexError: single positional indexer is out-of-bounds」を出す。
-
[解決済み】TypeErrorを取得しました。エントリを持つ子テーブルの後に親テーブルを追加しようとすると、 __init__() missing 1 required positional argument: 'on_delete'
-
[解決済み] 'int'オブジェクトに'__getitem__'属性がない。
-
[解決済み】Flask ImportError: Flask という名前のモジュールがない