Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonで文字列の最後の文字を削除する方法

Pythonの文字列は反復可能(イテラブル)なオブジェクトです。そのため、インデックスやスライスを使って、個々の文字や任意の範囲の文字にアクセスすることができます。

このガイドでは、Pythonの文字列から最後の文字を削除する方法を解説します。具体的なコード例を通して、自分のコードでこのタスクを実現する方法をしっかりと理解できるようにしていきましょう。

Pythonで文字列から最後の文字を削除する

ここでは、従業員IDから最後の文字を削除するプログラムを作成します。この末尾の文字は、従業員が所属する部署を表しています。

例えば、「M」という値は、その従業員がマーケティング部門に所属していることを示します。今回は、部署情報を管理する新しいシステムへ移行するため、この文字を削除する必要があります。

まず、input()メソッドを使って、ユーザーに従業員IDを入力してもらうところから始めましょう。

identifier = input("What is the employee's identifier? ")

次に、IDから最後の文字を削除します。

new_identifier = identifier[:-1]

[:-1]は文字列のスライス操作で、末尾の1文字を取り除く働きをします。負のインデックスを使うことで、文字列の終端側から要素を取得できるのがポイントです。

続いて、新しい従業員IDをコンソールに表示しましょう。

print("The employee's new identifier is {}.".format(new_identifier))

.format()ステートメントは、文字列内の波括弧({})を従業員の新しいIDに置き換えます。それでは、コードを実行して結果を確認してみましょう。

What is the employee's identifier? 28371M
The employee's new identifier is 28371.

プログラムによって、従業員IDの末尾の文字が正しく削除されました。

しかし、これで完成ではありません。ユーザーが空の値を入力した場合、プログラムは次のような出力をしてしまいます。

The employee's new identifier is .

この動作はあまり好ましくありません。そこで、IDが2文字以上ある場合にのみスライス処理を行い、それ以外の場合は「有効なIDを入力してください」というメッセージを表示するように改良しましょう。

IDの長さをチェックするif文を定義します。

identifier = input("What is the employee's identifier? ")

if len(identifier) > 1: 
	     new_identifier = identifier[:-1]
	     print("The employee's new identifier is {}.".format(new_identifier))
else:
	     print("Please insert a valid identifier.")

len()メソッドを使って従業員IDの長さを取得し、その長さが「1」より大きい場合にif文の中の処理が実行されます。そうでない場合は、else文が実行される仕組みです。

それでは、2文字未満のIDを指定してプログラムを実行してみましょう。

What is the employee's identifier? B
Please insert a valid identifier.

コードが正しく機能し、有効なIDを入力する必要があることがユーザーに通知されました。

まとめ

スライス構文を使えば、Pythonの文字列から最後の文字を簡単に削除できます。やり方はシンプルで、対象の文字列の後に [:-1] を付けるだけです。これであなたも、プロのようにPythonの文字列から最後の文字を削除できるようになりました!

  1. Pythonで文字列からn番目の文字を削除するプログラムの書き方

    はじめにこの記事では、以下の問題に対する解決方法を解説します。問題文 − 与えられた文字列から、指定したインデックス(i番目)の文字を削除し、その結果を表示します。Pythonの文字列では、インデックスは必ず0から始まるという点に注意してください。例えば、「Tutorialspoint」という文字列の場合、各文字のインデックスは以下のように対応しています。T u t o r i a l s p o i n t 0 1 2 3 4 5 6 7 8 9 10 11 12 13それでは、この問題を解決するためのPythonスクリプトを見ていきましょう。実装例def remove(string

  2. Pythonで文字列からn番目の文字を削除する方法【サンプルコード付き】

    Pythonにおいて、文字列は文字の配列として扱われます。そのため、先頭の文字のインデックスは「0」から始まり、各文字の位置(インデックス)を簡単に取得できます。この性質を利用すると、指定したn番目の文字だけを削除することが可能です。 基本的な考え方はシンプルです。削除したい文字のインデックス番号を受け取り、元の文字列を次の2つの部分文字列に分割します。 n番目のインデックスの文字より前の部分 n番目のインデックスの文字より後の部分 その後、この2つの部分文字列を連結すれば、n番目の文字が取り除かれた新しい文字列が完成します。 実行例 入力: python 削除するインデックス: 3 出