[Python]文字列の長さを指定し制限!文字数で揃える方法

アイキャッチPython
広告

Pythonにおいて、文字列の一部を指定した長さに制限したり、

特定の位置から切り抜いたりする方法について学びましょう。

この記事では、文字列の長さを制限するための方法に焦点を当てます。

広告

文字列の長さを取得

文字列の長さを取得する方法として、Pythonの組み込み関数であるlen()を使用します。

この関数は、文字列の全体の長さを返します。

text = "Python"
length = len(text)
print(f'The length of the string is: {length}')

上記の例では、文字列”Python”の長さをlen()関数を使って取得しています。

文字数を指定し左寄せ/中央揃え/右寄せにする

Pythonの文字列型(str)は、文字列を操作するための便利なメソッドを提供しています。

それらのメソッドを使って文字列を左寄せ、中央揃え、右寄せにして指定した長さになるように埋めることができます。

text = "Python"

# 左寄せ
left_aligned = text.ljust(10)
print(f'Left Aligned: "{left_aligned}"')

# 中央揃え
center_aligned = text.center(10)
print(f'Center Aligned: "{center_aligned}"')

# 右寄せ
right_aligned = text.rjust(10)
print(f'Right Aligned: "{right_aligned}"')

上記のコードでは、ljust()、center()、rjust()メソッドを使用して、

それぞれ左寄せ、中央揃え、右寄せの文字列を生成しています。

指定した幅になるように空白で埋めます。

広告

文字数を指定し左から揃える

文字列の一部を制限する方法として、スライスを使用します。

スライスは、文字列の一部を切り出すための強力な機能です。

text = "Python is amazing"

# 文字数を制限(左から)
limited_text = text[:6]
print(f'The limited text is: "{limited_text}"')

上記の例では、文字列”Python is amazing”から最初の6文字を取り出しています。

文字数を指定し右から揃える

文字列を右寄せにして、指定した長さになるように符号を考慮して”0″で埋め尽くす方法として、

zfill()メソッドを使用します。

number = "42"

# 右寄せにして指定した長さになるように0で埋める
padded_number = number.zfill(5)
print(f'The padded number is: "{padded_number}"')

上記の例では、数字”42″を右寄せにし、指定した長さになるようにゼロで埋めています。

広告

全角・半角を区別して文字列の長さを取得

unicodedataモジュールを使用して、全角・半角を区別して文字列の長さを取得する方法を見てみましょう。

import unicodedata

def length_double_byte_str(text):
    count = 0
    for char in text:
        if unicodedata.east_asian_width(char) in 'FWA':
            count += 2
        else:
            count += 1
    return count

text = "abcあいう"
length = length_double_byte_str(text)
print(f'The length of the string is: {length}')

上記の例では、unicodedata.east_asian_widthを使用して、全角・半角を区別して文字列の長さを取得しています。

広告

文字数を制限して全角・半角を区別する

全角・半角を区別して文字数を制限する関数を作成してみましょう。

def truncate_double_byte_str(text, limit):
    count = 0
    truncated_text = ''
    for char in text:
        if unicodedata.east_asian_width(char) in 'FWA':
            count += 2
        else:
            count += 1

        if count > limit:
            break
        truncated_text += char
    return truncated_text

text = "abcあいう"
truncated_text = truncate_double_byte_str(text, limit=5)
print(f'The truncated text is: "{truncated_text}"')

上記の例では、truncate_double_byte_str関数を使用して、全角・半角を区別して文字列を制限しています。

まとめ

まとめ

この記事では、Pythonを使用して文字列の長さを指定し、文字数を制限する方法について解説しました。

文字列の操作や制約条件を考慮して、柔軟かつ効果的なコードを記述できるようになりました。

これらの方法を組み合わせて、自分のプログラムに適した文字列処理を実現してみてください。

タイトルとURLをコピーしました