Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python检查字符串是否包含字符_Python - Fatal编程技术网

Python检查字符串是否包含字符

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

我正在处理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 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,保留它,否则检查下一个字符,等等。我们可以做更多的假设来加速它吗?哦,谢谢,我更正了真实情况。很抱歉错过了……但它仍然不起作用