指定された文字または文字セットの前のすべての文字を削除したい(たとえば):
intro = "<>I'm Tom."
<>
(より具体的にはI
)の前のI'm
を削除したいと思います。助言がありますか?
つかいます re.sub
。 I
までのすべての文字に一致するだけで、一致した文字をI
に置き換えます。
re.sub(r'.*I', 'I', stri)
index(char)
は文字の最初のインデックスを取得するため、単にstring[index(char):]
を実行できます。
たとえば、この場合、index("I") = 2
、およびintro[2:] = "I'm Tom."
str.find
はcertain string's first appearance
の文字インデックスを見つけることができます:
intro[intro.find('I'):]
str = "<>I'm Tom."
temp = str.split("I",1)
temp[0]=temp[0].replace("<>","")
str = "I".join(temp)
削除を開始する場所の文字位置がわかっている場合は、スライス表記を使用できます。
intro = intro[2:]
どこから始めるかを知る代わりに、削除する文字がわかっている場合は、 lstrip() 関数を使用できます。
intro = intro.lstrip("<>")
import re
intro = "<>I'm Tom."
re.sub(r'<>I', 'I', intro)
正規表現なし
intro.split('<>',1)[1]