例如,我有:
a = (b ^ c) || d && e
我希望它只打印
^ || &&
我是python的新手。有人可以帮我吗?
答案 0 :(得分:1)
我们可以使用filter
过滤掉不需要的字符:
>>> print(''.join(filter(lambda x: not x.isalpha() and x not in '()', a)).replace(' ',' ').strip())
^ || &&
或者,如果您不想要多个空格或前导/尾随空格:
unsigned long long micro = strtoull (str,NULL,10);
struct tm *tm = GetTimeAndDate(micro);
答案 1 :(得分:0)
您可以按不需要的字符组拆分字符串,然后继续加入和删除空格:
' '.join(re.split(r'[\s\d\w()]+', a)).strip() # remove numbers, letters, and whitespace
答案 2 :(得分:-1)
<强> EDIT1 强>
为了纠正误解我可以建议使用regexp。
import re
print(re.sub(r"[^\^|\|\||\&\&]", "", a))
<强> EDIT2 强>
以上代码的评论。
re.sub()函数用第二个参数替换匹配给定模式的所有标记。您可以通过regexone.com
进行快速培训代码部分使用给定的正则表达式查找所有符号,并用空字符串替换它们。
r"[^\^|\|\||\&\&]"
正则表达式有以下部分
[^] - 告诉我找到不在[和]之间的所有符号。 ^用于否定的符号。
\ ^ \ ^ - 使用反斜杠屏蔽你的^^符号
\ | \ | - 你的||符号
\&安培; \&安培; - 你的&amp;&amp;符号
所有这些都使用&#34;或&#34;声明(&#34; |&#34;符号)
最后你有
^^ | || | &安培;&安培;没有反斜杠告诉,找到^^或||或&amp;&amp;
和[^ ^^ | || | &amp;&amp;],找到不是^^或||的每个符号或&amp;&amp;
但如果您是第一次编码,或者您还不了解python语法,我建议您只学习最简单的python示例,然后学习正则表达式语法。