现在我有一个xxx@yyy.com@zzz.com
形式的字符串,我想剥离@ zzz.com,使其显示为xxx@yyy.com
。
答案 0 :(得分:3)
您可以使用:
"xxx@yyy.com@zzz.com".replace("@zzz.com", "")
如果你知道它总是“@ zzz.com”。
否则,您可以尝试:
data = "xxx@yyy.com@zzz.com"
if data.count("@") == 2:
data = data.rsplit('@', 1)[0]
或者,更一般地说:
data = "xxx@yyy.com@zzz.com@___.com"
if data.count("@") > 1:
data = data.rsplit('@', data.count("@")-1)[0]
您可以详细了解我在Python : String Methods
使用的字符串方法答案 1 :(得分:3)
>>> 'xxx@yyy.com@zzz.com'.rpartition('@')[0]
'xxx@yyy.com'
答案 2 :(得分:1)
string = "xxx@yyy.com@zzz.com"
string = "@".join(string.split("@")[:2])
完成工作的简单方法。我认为这不是很安全。
答案 3 :(得分:0)
$ python
Python 2.6.6 (r266:84292, Nov 19 2010, 21:55:12)
[GCC 4.2.1 (Apple Inc. build 5664)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import re
>>> re.sub('@[^@.]*\.com$', '', 'xxx@yyy.com@zzz.com')
'xxx@yyy.com'
答案 4 :(得分:0)
string = "xxx@yyy.com@zzz.com"
print string[0:string.rfind('@')]
可以帮到你
答案 5 :(得分:0)
这样可行。请检查一下。
st='xxx@yyy.com@zzz.com'
print st
newstr=st[0:st.rfind('@')]
print newstr
想法是使用rfind和strip从最后找到@符号。
答案 6 :(得分:0)
不确定此代码是否对任务来说太多了,但是现在你去了。
data = "xxx@yyy.com@zzz.com"
def cleaner(email):
counter = 0
result = ''
for i in data:
if i == "@":
counter += 1
if counter == 2:
break
result += i
return result
data = cleaner(data)
data = 'xxx@yyy.com'
只需将数据传递给清洁功能即可。例如:cleaner(data)将返回正确的答案。
编辑:gribbler发布的内容比这个好1000倍...大声笑我还在学习:)。
data.rpartition('@')[0]