从字符串中删除符号

2024-04-26 00:29:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个像这样的文件:

@HWI
ABCDE
+
@HWI7
EFSA
+
???=AF
GTEY@JF
GVTAWM

我只想保留字符串(所以删除所有包含符号的内容)

我试过了:

^{pr2}$

但它给出了:

@HWI
ABCDE
@HWI7
EFSA
???=AF
GTEY@JF
GVTAWM

我期待着:

ABCDE
EFSA
GVTAWM

我想使用numpy来实现这一点,而不是像regex或类似的命令。在


Tags: 文件字符串numpy内容符号regexafjf
2条回答

这是我的解决方案:

import numpy as np

arr = np.genfromtxt('text.txt', dtype=str)

test = np.core.defchararray.isalpha(arr) #Create a mask : True = only str and False = not only str

print arr[test] #Use the mask on arr and it will print only good values

不要将if与numpy一起使用!您需要编制索引来执行此操作;)

我得到:

^{pr2}$

带数字:

还有一个isalpha()和isnumeric()函数用于numpy。它们可以读到关于here。在

如果没有numpy,您可以尝试以下regex:

re.sub(r'[^\w]', ' ', s)

其中s是字符串,[^\w]将匹配任何非字母数字或下划线的内容

关于Stackoverflow的一个例子

相关问题 更多 >