如何删除两个特定字符之间的字符串中的字符?

时间:2019-05-31 12:19:34

标签: python-3.x

我想删除字符串中“ _”和“”之间的所有字符

我尝试了split命令,但是它将所有参数都放在参数之后。我不能让它停在“”

string = "adamannaogfrida_dfexosnfzg PeterMadsen_deinow_pk HjaltedDrejer_Weonfiweg"

预期输出:adamannaogfrida PeterMadsen HjaltedDrejer

4 个答案:

答案 0 :(得分:2)

正则表达式听起来像是竞争者:

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

答案 1 :(得分:1)

给出我将使用split而不是strip的预期输出:

s = "adamannaogfrida_dfexosnfzg PeterMadsen_deinow_pk HjaltedDrejer_Weonfiweg"

out = [x.split("_")[0] for x in s.split()]
out
# ['adamannaogfrida', 'PeterMadsen', 'HjaltedDrejer']

答案 2 :(得分:1)

这是一个正则表达式方法:

re.sub(r'_.+?\b', '', 'adamannaogfrida_dfexosnfzg PeterMadsen_deinow_pk HjaltedDrejer_Weonfiweg')
#'adamannaogfrida PeterMadsen HjaltedDrejer'

答案 3 :(得分:-2)

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