Python检查字符串是否包含字符
我正在处理500GB的数据,以便只查找包含字符的行。 你能给我建议一个有效/更快的方法吗Python检查字符串是否包含字符,python,Python,我正在处理500GB的数据,以便只查找包含字符的行。 你能给我建议一个有效/更快的方法吗 Data is like: %^^%^^%^^% This is a valid *%^%^ Valid This is not a valid one 输出应为: Data is like: This is a valid *%^%^ Valid This is not a valid one 我正在尝试: 是否字母 问题是它将删除该线路 *%^%^有效的 实际上,这段代码也不起作用 if lin
Data is like:
%^^%^^%^^%
This is a valid
*%^%^ Valid
This is not a valid one
输出应为:
Data is like:
This is a valid
*%^%^ Valid
This is not a valid one
我正在尝试:
是否字母
问题是它将删除该线路
*%^%^有效的
实际上,这段代码也不起作用
if line.isalpha()=='True':
print(line)
这不起作用
我可以使用正则表达式,但阅读一些会减慢速度的内容吗?使用正则表达式,如:
>>> import re
>>>
>>> pattern = re.compile(r'\A[%|\^]*$')
>>>
>>> pattern.match('%^ Text') # no match
>>> pattern.match('%^^%^') # match
<re.Match object; span=(0, 5), match='%^^%^'>
如果使用不正确,当字符串中的所有字符都是字母时,它将返回True
您可以尝试使用任意和映射来确保行中至少有一个字符是字母表
txt = """
Data is like:
%^^%^^%^^%
This is a valid
*%^%^ Valid
This is not a valid one
"""
for line in txt.split("\n"):
if any(map(str.isalpha, line)):
print(line)
印刷品:
Data is like:
This is a valid
*%^%^ Valid
This is not a valid one
“True”是str。True是bool..isalpha返回布尔值:True或False。这两个值都不等于字符串“True”。首先,True!=符合事实的其次,你没有解释字符串的有效性与否?据我所知,最快的方法是检查每行的第一个字符,如果是alpha,保留它,否则检查下一个字符,等等。我们可以做更多的假设来加速它吗?哦,谢谢,我更正了真实情况。很抱歉错过了……但它仍然不起作用