2024年4月28日日曜日

【文字列】partition/rpartitionによる文字列の区切り文字での三分割

 partitionにより指定した区切り文字が最初に出現した位置で三分割される。また、rpartitionにより指定した区切り文字が最後に出現した位置で三分割される。




1. partitionによる最初の区切り文字での三分割

 partitionの書式は以下。区切り文字sepが文字列str中の最初に出現した位置で、区切り文字より前、区切り文字、区切り文字より後ろの3つに分割される。結果は3つの文字列のタプルになる。

str.partition(sep)

 区切り文字sepに'区'を指定した場合。'区'は元の文字列中に2つあるが、最初に出現した(左の)'区'で分割される。

pra = '東京北区役所:東京都北区王子本町'

a.partition('区')

実行結果

('東京北', '区', '役所:東京都北区王子本町')


 区切り文字sepは文字列でも良い。に'区役所'を指定した場合。

a = '東京北区役所:東京都北区王子本町'

a.partition('区役所')

実行結果

('東京北', '区役所', ':東京都北区王子本町')


 区切り文字sepが元の文字列中に無い場合は、(元の文字列, 空の文字列, 空の文字列)のタプルが返される。

a = '東京北区役所:東京都北区王子本町'

a.partition('市')

実行結果

('東京北区役所:東京都北区王子本町', '', '')


2. rpartitionによる最後の区切り文字での三分割

 rpartitionの書式は以下。区切り文字sepが文字列str中の最後に出現した位置で、区切り文字より前、区切り文字、区切り文字より後ろの3つに分割される。結果は3つの文字列のタプルになる。

str.rpartition(sep)

 区切り文字sepに'区'を指定した場合。'区'は元の文字列中に2つあるが、最後に出現した(右の)'区'で分割される。

pra = '東京北区役所:東京都北区王子本町'

a.rpartition('区')

実行結果

('東京北区役所:東京都北', '区', '王子本町')


 区切り文字sepが元の文字列中に無い場合は、(空の文字列, 空の文字列, 元の文字列)のタプルが返される。

a = '東京北区役所:東京都北区王子本町'

a.rpartition('市')

実行結果

('', '', '東京北区役所:東京都北区王子本町')


3. リファレンス

Python 標準ライブラリ > str.partition(sep)
Python 標準ライブラリ > str.rpartition(sep)

使用バージョン:Python 3.10.4

0 件のコメント:

コメントを投稿