我想知道如何在Python中提取字符串的某个部分。
所以,我们说我有一个清单。 (实施例)
1 || awdawd@awdawd.com || awlkdjawldkjalwdkda
2 || aawdawd@awd.com || awdadwawdawdawdawd
我知道我可以使用索引并从每一行中取出最后10个左右的字符,但如果它们的长度不同,则不会起作用。它对电子邮件根本不起作用。
我正在思考正则表达式,但是一旦找到字符串的一部分,我将如何复制字符串的那一部分并将其附加到列表中。
正则表达式对于电子邮件来说很简单,但对于' ||'之后的字符串来说并不那么简单。那我该怎么做?我无法理解它。也许搜索||并得到它之后的一切?但接下来有两个' ||'。
感谢任何帮助。
答案 0 :(得分:2)
按||
分割后获取反向索引:
>>> L = ["|| awdawd@awdawd.com || awlkdjawldkjalwdkda", "|| aawdawd@awd.com || awdadwawdawdawdawd"]
>>> for x in L:
... print x.split('||')[-1].strip()
...
awlkdjawldkjalwdkda
awdadwawdawdawdawd
答案 1 :(得分:2)
首先,如果你知道字符串的确切格式,你可以使用split()函数。例如
>>> string1 = "1 || awdawd@awdawd.com || awlkdjawldkjalwdkda"
>>> list1 = string1.split("||")
>>> list1
['1 ', ' awdawd@awdawd.com ', ' awlkdjawldkjalwdkda']
>>> list1[1].strip()
'awdawd@awdawd.com'
如果使用子字符串" ||"拆分给定的字符串;您将收到三个元素的列表。电子邮件将是第二个,而strip()函数将为您提供没有空格字符的电子邮件。
如果您不知道字符串的确切结构,但是您知道要提取的子字符串可以使用正则表达式,那么有很多配方,here is one for emails。
答案 2 :(得分:1)
我想你想要第一部分。这会根据||
拆分输入,然后打印索引1的剥离内容。
>>> s = '1 || awdawd@awdawd.com || awlkdjawldkjalwdkda'
>>> s.split('||')[1].strip()
'awdawd@awdawd.com'
>>> L = ["|| awdawd@awdawd.com || awlkdjawldkjalwdkda", "|| aawdawd@awd.com || awdadwawdawdawdawd"]
>>> for x in L:
print(x.split('||')[1].strip())
awdawd@awdawd.com
aawdawd@awd.com
答案 3 :(得分:1)
我认为str.split('||')
就是这个用例。
要删除剩余的空格,请在返回的数组元素上使用str.strip()
。