有什么功能可以在python中切片字符串吗?

时间:2019-12-30 19:42:03

标签: python

emails=('khalid@seecs.edu.pk','salman@clemson.edu.usa','eshaal@smme.edu.pk','arham@nbs.edu.pk')

将上述名称,大学和国家/地区与元组中的上述字符串分开,然后将其放入新的元组中?

3 个答案:

答案 0 :(得分:0)

您是否尝试过.split()函数?
这可以帮助您入门:

mytup = tuple(("myemail@email.edu","otheremail@aol.com"))
for tup in mytup:
    print(tup.split('@'))

答案 1 :(得分:0)

您可以split()来做。

final=()
for i in emails:
a=i.split('.')
b=a[0].split('@')
b.append(a[-1])
b=tuple(b)
final+=(b,)

输出:

(('khalid', 'seecs', 'pk'), ('salman', 'clemson', 'usa'), ('eshaal', 'smme', 'pk'), ('arham', 'nbs', 'pk'))

答案 2 :(得分:0)

一个元组可以像一个列表一样被迭代。列表和元组之间的最大区别是元组是不可变的(无法修改)。接下来,必须在@.上同时分割字符串。您可以使用字符串split()或正则表达式re.split()。它们的区别在于re.split('regEx', stringToSplit)在正则表达式上拆分,而字符串split在给定字符串上拆分。因此,要同时分割@.,就需要分别分割。最后,加入从split返回的列表的所需部分,并使用tuple(...)

将其转换为元组
import re

emails = ('khalid@seecs.edu.pk','salman@clemson.edu.usa','eshaal@smme.edu.pk','arham@nbs.edu.pk')
formatedEmails = []
for emailString in emails:
    emailList = re.split("[@.]", emailString)
    emailList = emailList[:2] + emailList[-1:]
    formatedEmails.append(tuple(emailList))
emailTuple = tuple(formatedEmails)
print(emailTuple)