我知道可以匹配一个单词,然后使用其他工具(例如grep -v)反转匹配.但是,我想知道是否可以使用正则表达式匹配不包含特定单词的行(例如hede).
输入:
hoho
hihi
haha
hede
Run Code Online (Sandbox Code Playgroud)
码:
grep "<Regex for 'doesn't contain hede'>" input
Run Code Online (Sandbox Code Playgroud)
期望的输出:
hoho
hihi
haha
Run Code Online (Sandbox Code Playgroud) 我有一个特殊字符列表。例如
BAD_CHARS = ['.', '&', '\(', '\)', ';', '-']
Run Code Online (Sandbox Code Playgroud)
我想从 pandas 数据帧列中删除包含这些特殊字符的所有行。目前我正在做以下事情
df = '''
words frequency
& 11
CONDUCTED 3
(E.G., 5
EXPERIMENT 6
(VS. 5
(WARD 3
- 14
2006; 3
3D 5
ABLE 5
ABSTRACT 3
ACCOMPANIED 5
ACTIVITY 11
AD 5
ADULTS 6
'''
for char in BAD_CHARS:
df = df[~df['word'].str.contains(char)]
# Expected Result
words frequency
CONDUCTED 3
EXPERIMENT 6
3D 5
ABLE 5
ABSTRACT 3
ACCOMPANIED 5
ACTIVITY 11
AD 5
ADULTS 6
Run Code Online (Sandbox Code Playgroud)
首先它不起作用,其次我猜它不快。那么我怎样才能以更快的方式做到这一点呢?谢谢