擅长:python、mysql、java
<p>你可以尝试用这两步过滤作为你的逻辑。使用<code>str.contains</code>方法筛选出带有<code>OU=DNA</code>的行,并使用带有正则表达式的<code>str.replace</code>方法来修剪前导的<code>CN=x</code>:</p>
<pre><code>newDf = df.loc[~df.DN.str.contains("OU=DNA")]
newDf.DN = newDf.DN.str.replace("^CN=[^,]*,", "")
newDf
UserName DN
0 MB31212 CN=Users,DC=prod,DC=trovp,DC=net
1 MB23423 OU=Generic Mailbox,DC=prod,DC=trovp,DC=net
2 MB23424 CN=Users,DC=prod,DC=trovp,DC=net
</code></pre>
<p>对正则表达式稍作分解:<code>^</code>表示字符串的开头,后面跟着<code>CN=</code>,并使用<code>[^,]*,</code>捕获模式,直到第一个逗号为止</p>