在python中用空字符串搜索和替换字母数字字符

2024-09-28 19:03:02 发布

您现在位置:Python中文网/ 问答频道 /正文

如果此帖子重复,我深表歉意。我试图用import repythonsearch/replace一个词。在下面的示例中,我只想定位aaa1,并用empty string替换它

# Input case 1
str = 'aaa,aaa1,aaa1.1'

# Input case 2
str = 'aaa,aaa1'

# Expected output for the case 1
'aaa,aaa1.1'

# Expected output for the case 2
'aaa'

我试过单词boundary \b,说实话,我对它是什么以及如何正确使用它感到困惑(https://www.regular-expressions.info/wordboundaries.html

re.sub(r'\baaa1\b', '', str)

结果是aaa,,.1正如你们中的一些人已经预料到的那样。我也试过了,但运气不好。我不熟悉python及其模块,如re。我很感激你关于如何实现目标的建议

[更新]

我用输入和预期输出更新了我的原始问题,以澄清我的目标


Tags: theimportreforinputoutputsearchreplace
2条回答

给你:

def filter_str(s):
    s = re.sub(r'\baaa1,', '', s)
    return re.sub(r',aaa1$', '', s)

这可以做到:

def f(str):
    s = str.split(',')
    if 'aaa1' in s:
        for n in s:
            if n == 'aaa1': s.remove(n)
        return(','.join(s))
    else:
        for n in s:
            if 'aaa1' in n: s.remove(n)
        return(','.join(s))

print(f('aaa,aaa1,aaa1.1'))
print(f('aaa,aaa1.1'))

输出:

aaa,aaa1.1
aaa

相关问题 更多 >