2024-04-26 20:38:46 发布
网友
从文本中删除哪些字符之前需要“\”? 像这样:
import re my_source = re.sub('\(','',my_source)
因为从你的问题看来,你只是想删除字符串中的某些字符,你甚至不需要使用正则表达式。在python中,最简单的方法是使用字符串对象的replace方法:
replace
>>> my_source = 'Hello, world!' >>> my_source.replace(", world", "") 'Hello!'
如果有要从输入中删除的字符串列表,可以这样做:
>>> my_source = 'ABCDEFG_HI(JKLM).NOP' >>> deletions = ('_', '(', ')', 'EF', 'O') >>> for deletion in deletions: ... my_source = my_source.replace(deletion, "") ... >>> my_source 'ABCDGHIJKLM.NP'
Which characters need '\' before them to delete from a text ?
必须转义和不能转义的字符取决于使用的正则表达式指示。你知道吗
在大多数情况下,以下是需要在字符类之外转义的字符[]是:
[]
.^$*+?()[{\|
字符^-]\需要在字符类中转义。并不总是需要在字符类中转义-,但对我来说,这样做更安全。你知道吗
^-]\
-
但请注意,正如我所说的,这确实取决于您正在使用的regex指示。你知道吗
使用re.sub()的示例
re.sub()
替换字符串中的(和)。。你知道吗
(
)
oldStr = '(foo) bar (baz)' print re.sub(r'[()]+', '', oldStr)
输出:
foo bar baz
使用re.search()的示例
re.search()
我们使用re.search来查找字符串中第一个(和)之间的文本。我们转义(,然后使用regex捕获组([a-zA-Z]+)查找单词字符,以)结束
re.search
([a-zA-Z]+)
m = re.search('\(([a-zA-Z]+)\)', oldStr) print m.group(1) #prints 'foo'
使用re.findall()的示例
re.findall()
m = re.findall(r'\(([a-zA-Z]+)\)', oldStr) print ", " . join(m) # prints `foo, baz`
特殊字符(.,?,(,),…)应转义以匹配字面:
.
?
可以从here - Regular Expression Syntax中找到特殊字符。你知道吗
但你不需要自己动手。您可以使用^{}:
>>> import re >>> re.escape('(') '\\(' >>> print(re.escape('(')) \(
因为从你的问题看来,你只是想删除字符串中的某些字符,你甚至不需要使用正则表达式。在python中,最简单的方法是使用字符串对象的
replace
方法:如果有要从输入中删除的字符串列表,可以这样做:
必须转义和不能转义的字符取决于使用的正则表达式指示。你知道吗
在大多数情况下,以下是需要在字符类之外转义的字符
[]
是:字符
^-]\
需要在字符类中转义。并不总是需要在字符类中转义-
,但对我来说,这样做更安全。你知道吗但请注意,正如我所说的,这确实取决于您正在使用的regex指示。你知道吗
使用
re.sub()
的示例替换字符串中的
(
和)
。。你知道吗输出:
使用
re.search()
的示例我们使用
re.search
来查找字符串中第一个(
和)
之间的文本。我们转义(
,然后使用regex捕获组([a-zA-Z]+)
查找单词字符,以)
结束使用
re.findall()
的示例特殊字符(
.
,?
,(
,)
,…)应转义以匹配字面:可以从here - Regular Expression Syntax中找到特殊字符。你知道吗
但你不需要自己动手。您可以使用^{} :
相关问题 更多 >
编程相关推荐