Python文字列から文字を削除:ガイド
replace()またはtranslate()を使用して、Python文字列から文字を削除できます。これらのメソッドは両方とも、文字または文字列を指定された値に置き換えます。空の文字列が指定されている場合、選択した文字または文字列は、置換されずに文字列から削除されます。
Pythonは文字列から文字を削除します
すべての文字列に、含める値が含まれているわけではありません。ユーザーは、表示したくない記号を入力フィールドに挿入できます。文字列から特定の文字のインスタンスを削除したい場合があります。
文字列から削除する文字は関係ありません。 Pythonでカバーできました!
このガイドでは、文字列から文字または文字のセットを削除する方法について説明します。途中でいくつかの例を参照します。
次のアプローチについて説明します。
- replace()メソッドの使用
- transform()メソッドの使用
- インデックスを使用して最後の文字を削除する
始めましょう!
文字列Pythonから文字を削除:replace()
文字列replace() 関数は、文字を新しい文字に置き換えます。この関数を使用して、任意の文字を空白の文字列に置き換えることができます。
ユーザーにユーザー名の挿入を求めるプログラムを作成しています。ユーザー名にアンダースコア(_)文字を使用することはできません。新しいPythonファイルを開き、次のコードを貼り付けます。
参加者の81%は、ブートキャンプに参加した後、自分たちの技術的な仕事の見通しについてより自信を持っていると述べました。今日のブートキャンプにマッチしましょう。
平均的なブートキャンプの卒業生は、ブートキャンプの開始から最初の仕事を見つけるまで、キャリアの移行に6か月も費やしませんでした。
username = input("Choose a username: ") final_username = username.replace("_", "") print("Your username is: " + final_username)
このコードは、input()メソッドを使用してユーザー名を選択するようにユーザーに求めます。
replace() メソッドは、元の文字列からアンダースコア文字を削除し、その文字のすべてのインスタンスを空の文字列に置き換えます。次に、アンダースコアなしでユーザー名をコンソールに出力します。
プログラムを実行してみましょう:
Choose a username: pythonista_101 Your username is: pythonista101
コードにより、指定したユーザー名からアンダースコア文字が削除されました。このコードは、アンダースコアを含まない文字列で機能します:
Choose a username: pythonista101 Your username is: pythonista101
ユーザー名にアンダースコアが含まれていない場合、何も起こりません。
replace()を使用して複数の文字を削除する
文字列から複数の文字を削除したい場合はどうなりますか? Pythonはあなたを助けることができます。 replace()を使用できます 文字列から複数の文字を削除するためのforループ内のメソッド。
最後の例では、ユーザー名からアンダースコア文字を削除しました。文字列からすべてのピリオド(ピリオド)、アンダースコア、感嘆符を削除したい場合はどうなりますか?新しいPythonファイルを作成し、次のコードに貼り付けます:
username = input("Choose a username: ") disallowed_characters = "._!" for character in disallowed_characters: username = username.replace(character, "") print("Your username is: " + username)
まず、ユーザーにユーザー名を選択するように依頼しました。次に、ユーザーのユーザー名に表示されるべきではないすべての文字を含む文字列を定義しました。
次に、forループを作成しました。このforループは、「disallowed_characters」文字列のすべての文字を繰り返し処理します。各反復で、forループが反復している文字は、「username」文字列内の空白文字に置き換えられます。
コードを実行してみましょう:
Choose a username: pythonista.101!!! Your username is: pythonista101
私たちのコードは、ピリオドと感嘆符を除外しました。
文字列Pythonから文字を削除する:translate()
Pythonのtranslate()メソッドは、文字テーブルの内容に従って文字列内の文字を置き換えます。このメソッドは、1つの引数を受け入れます。マップする文字を含む変換テーブルです。
この方法を使用するには、変換テーブルを作成する必要があります。この表は、文字列内で置き換える必要のある文字を指定します。
translate()を使用してみましょう ユーザー名からすべての下線を削除する方法:
username = input("Choose a username: ") final_username = username.translate({ ord("_"): None }) print("Your username is: " + final_username)
このコードは、「_」文字のすべてのインスタンスをNone値に置き換えます。 Pythonのord()メソッドは、「_」文字に関連付けられたUnicodeコードを返します。これはtranslate()によって使用されます 削除する文字を識別する方法。
translate()を使用して複数の文字を削除する
translate()を使用して、文字列から複数の文字を削除できます 。
これを行うには、文字列から削除する文字のリストをループするイテレータを作成します。
ユーザー名からすべてのアンダースコア、ピリオド、感嘆符を削除しましょう:
username = input("Choose a username: ") final_username = username.translate({ ord(c): None for c in "._!" }) print("Your username is: " + final_username)
translate() メソッドは、「username」文字列の各文字がピリオド、感嘆符、またはアンダースコアのいずれかに等しいかどうかをチェックします。これらの文字の1つが見つかった場合は、Noneに置き換えられます。これにより、文字列から文字が削除されます。
Pythonリスト内包表記を使用して、除外された文字リスト内のすべての文字を反復処理しています。
プログラムをテストしてみましょう:
Choose a username: pythonista_100! Your username is: pythonista101
コードにより、指定したすべての特殊文字が文字列から正常に削除されました。
Python:文字列から最後の文字を削除
文字列から最後の文字を削除するには、[:-1]スライス表記を使用します。この表記は、インデックス位置-1(リストの最後の文字)にある文字を選択します。次に、構文はその文字を除くすべての文字を返します。
文字列から最後の文字を削除するための構文は次のとおりです。
your_string = "A string" print(your_string[:-1])
最後の文字の例を削除
従業員IDから最後の文字を削除するプログラムを作成したいと思います。このキャラクターは、従業員が勤務している部門を示しています。
たとえば、値「M」は、従業員がマーケティング部門で働いていることを示します。このキャラクターを削除します。従業員を追跡するこのシステムは、新しいシステムに置き換えられています。新しいシステムは、従業員が勤務する部門を追跡します。
まず、input()メソッドを使用して従業員IDを挿入するようにユーザーに依頼します。
identifier = input("What is the employee's identifier? ")
次に、識別子から最後の文字を削除します:
new_identifier = identifier[:-1]
[:-1]は、リストから最後の文字を削除する文字列スライス操作です。文字列の末尾からアイテムを取得するには、負のインデックスを使用します。次に、従業員の新しい識別子をコンソールに表示します。
print("The employee's new identifier is {}.".format(new_identifier))
format()ステートメントは、文字列内の中括弧を従業員の新しい識別子に置き換えます。コードを実行して、何が起こるか見てみましょう:
What is the employee's identifier? 28371M The employee's new identifier is 28371.
私たちのプログラムは、従業員の識別子の最後の値を削除します。
結論
replace()を使用して、文字列から1文字または複数の文字を削除できます。 またはtranslate() 。両方のreplace() およびtranslate() メソッドは同じ結果を返します:指定した文字を含まない文字列。
初心者の場合、 replace() メソッドの方が使いやすいです。これは、2つのパラメーターしか受け入れないためです。
最初のパラメーターは、置き換える文字です。 2番目のパラメーターは、文字を置き換える値です。複数の文字を置き換える場合は、forループを使用できます。
Pythonについてもっと知りたいですか?学習の旅を進めるのに役立つ専門家のヒントについては、Pythonの完全な学習方法ガイドをご覧ください。
-
文字列からn番目の文字を削除するためのPythonプログラム
この記事では、以下に示す問題ステートメントの解決策について学習します- 問題の説明 −文字列が与えられたので、与えられた文字列から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
-
文字列からn番目の文字を削除するためのPythonプログラム?
文字列は文字の配列を意味するため、開始アドレスは0です。そうすれば、すべての文字のインデックスを簡単に取得できます。そのインデックス番号を入力する必要があります。次に、その要素を削除します。したがって、文字列を2つのサブ文字列に分割します。また、2つの部分は、n番目のインデックス付き文字の前と、インデックス付き文字の後の2つの部分で、この2つの文字列をマージする必要があります。 例 Input: python n-th indexed: 3 Output: pyton 説明 アルゴリズム Step 1: Input a string. Step 2: input the index p