others - python 3.x - 在字符串中的两个特定字符之间,如何删除字符?

我想在字符串中的"_"和" "之间去除字符。


string ="adamannaogfrida_dfexosnfzg PeterMadsen_deinow_pk HjaltedDrejer_Weonfiweg"



预期输出: adamannaogfrida PeterMadsen HjaltedDrejer

时间:

正则表达式是一个有竞争力的候选:


import re


s = re.sub("_[^ ]*( |$)","", string)


print(s)



考虑到预期的输出,我使用split而不是strip :


s ="adamannaogfrida_dfexosnfzg PeterMadsen_deinow_pk HjaltedDrejer_Weonfiweg"



out = [x.split("_")[0] for x in s.split()]


out


# ['adamannaogfrida', 'PeterMadsen', 'HjaltedDrejer']




下面是一个正则表达式方法:


re.sub(r'_.+?b', '', 'adamannaogfrida_dfexosnfzg PeterMadsen_deinow_pk HjaltedDrejer_Weonfiweg')


#'adamannaogfrida PeterMadsen HjaltedDrejer'




i=0


c=0


len=len(str)


while(i<len)


 if(str[i]=='_')


 c=1


 if(str[i]==' ')


 c=0


 if(c==0)


 print(str[i]),


 i=i+1



...