質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

4回答

5220閲覧

n番目の文字を削除する

fdd

総合スコア28

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2020/05/01 11:56

編集2020/05/01 12:45

数値を入力し、入力したn番目の文字を削除した文字列を表示するプログラムを作成しています。

下記のサイトから指定した文字であれば削除した文字列を表示することは分かるのですが、
n番目に指定した文字を削除するプログラムが書けません。
ご教授の方お願いします。
リンク内容

入力例
abywdi
4

期待値
abydi

python

1a = str(input()) 2b = int(input()) 3c = a.lstript("a[b]") 4 5print(c)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

meg_

2020/05/01 12:23

リンクは「リンクの挿入」で記入してください。
fdd

2020/05/01 12:35

リンクの記載の方不備があり申し訳ございません。修正の方が完了したのでご確認よろしくお願いします。
meg_

2020/05/01 12:40

質問のコードを実行すると「AttributeError: 'str' object has no attribute 'lstript'」のエラーがでますが、こちらのコードは何かを参考に書かれたのですか?(リンク先を見ましたが書いてないようなので)
fdd

2020/05/01 12:49

すみません。リンクのURLの方に誤りがあったため修正いたしました。 lstript("a[b]")はaのリストからb番目の文字を指定できるものだと思い書いています。
meg_

2020/05/01 13:03

「lstript」じゃなくて「lstrip」ですね。
guest

回答4

0

参考情報

  • How to remove characters from a string by Index ?

https://thispointer.com/python-how-to-remove-characters-from-a-string-by-index/

投稿2020/05/01 14:34

katoy

総合スコア22324

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

replaceを使った場合です。

Python

1a.replace(a[b-1], '') 2#'abydi'

投稿2020/05/01 13:09

meg_

総合スコア10760

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

fdd

2020/05/01 13:38

回答の方ありがとうございました。replaceを使った書き方は知らなかったので勉強になりました。 すみませんベストアンサーの方ですがこのソースコードですと、n番目に指定した文字が複数個存在した場合その文字はすべて削除の対象に入ってしまうため,(glyzinieh)さんの投稿をベストアンサーにさせていただきました。色々ご指摘いただき本当にありがとうございました
guest

0

ベストアンサー

Python

1a = str(input()) 2b = int(input()) 3 4c = a[:b-1]+a[b:] 5 6print(c)

これでどうでしょうか。

スライスを使いaの文字列の最初からb-1番目の文字まで(abywdiの最初から4-1番目まで)と、b番目の文字から最後まで(abywdiの4番目から最後まで)を取得して、結合し代入しています。

スライスについてはこちらのサイトが参考になると思います。

###スライスで文字列を抽出

[start:step]とすると、start <= x < stopの範囲の文字列が抽出できる。上述のインデックスと同じく0始まり。startを省略すると先頭から、endを省略すると末尾までの範囲となる。

投稿2020/05/01 12:57

glyzinieh

総合スコア222

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

fdd

2020/05/01 13:39

ご回答の方ありがとうございました。今後の勉強の参考にさせていただきます。
guest

0

n番目に指定した文字を削除するようなコードを書きましょう

Python3の文字列操作 - Qiita

投稿2020/05/01 11:59

y_waiwai

総合スコア88042

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問