删除字符串中的特定域地址

2024-10-17 08:18:18 发布

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

str1 = "obul@ongoose.com|bharat@ongoose.com|rbasani@ongoose.com|srinu@gmail.com|"

现在我需要通过在python中使用regex或python中的任何其他方式删除所有ongoose.com|,将上述字符串转换为str2 = srinu@gmail.com|


Tags: 字符串com方式gmailregexstr1str2ongoose
2条回答

使用正则表达式

>>> import re
>>> str1 = "obul@ongoose.com|bharat@ongoose.com|rbasani@ongoose.com|srinu@gmail.com|"
>>> re.sub(r'(^|\|)[^@]*?@ongoose.com', '', str1).lstrip('!')
'srinu@gmail.com|'

不带正则表达式

>>> '|'.join([m for m in str1.split("|") if not m.endswith('@ongoose.com')])
'srinu@gmail.com|'

可以将str.split与负索引一起使用

例如:

str1 = "obul@ongoose.com|bharat@ongoose.com|rbasani@ongoose.com|srinu@gmail.com|"
print(str1.split("|")[-2])

输出:

srinu@gmail.com

如果字符串的位置是动态的您可以使用str.endswith

str1 = "obul@ongoose.com|bharat@ongoose.com|rbasani@ongoose.com|srinu@gmail.com|"
for i in str1.split("|"):
    if not i.endswith("ongoose.com"):
        print(i)

相关问题 更多 >