簡體   English   中英

在 python 中搜索並用空字符串替換字母數字字符

[英]Search and replace alphanumeric characters with empty string in python

如果這篇文章重復,我深表歉意。 我嘗試使用import re from pythonsearch/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'

我嘗試了單詞邊界\b ,老實說,我對它是什么+如何正確使用它感到困惑( https://www.regular-expressions.info/wordboundaries.html )。

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

結果是aaa,,.1 ,正如你們中的一些人已經預料到的那樣。 我也試過/^aaa1$/但沒有運氣。 我是python及其模塊的新手,例如re 非常感謝您對如何實現 ^ 目標的建議。

[更新]

我用輸入和預期輸出更新了我的原始問題,以澄清我的目標。

這將做到:

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'))

Output:

aaa,aaa1.1
aaa

這里是 go:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM