如何使用Python 3删除某个字符后的所有字符
我需要知道如何使用Python 3删除字符串中特定字符后的所有字符 例如,对于字符串如何使用Python 3删除某个字符后的所有字符,python,regex,python-3.x,string,replace,Python,Regex,Python 3.x,String,Replace,我需要知道如何使用Python 3删除字符串中特定字符后的所有字符 例如,对于字符串abcd(请阅读下面的tnc!)我只需要abcd。我想删除()中的所有内容 我现在可以使用以下Python代码: mystr = "abcd (Read the tnc below!)" char = "" for c in mystr: if c != "(": char += c else: break 但在我看来,这似乎是完成如此简单任务的冗长而糟糕的代
abcd(请阅读下面的tnc!)
我只需要abcd
。我想删除()
中的所有内容
我现在可以使用以下Python代码:
mystr = "abcd (Read the tnc below!)"
char = ""
for c in mystr:
if c != "(":
char += c
else:
break
但在我看来,这似乎是完成如此简单任务的冗长而糟糕的代码。我也尝试在网上搜索,但没有找到任何帮助。Python3有一些很棒的正则表达式吗
谢谢 我会这样做:
mystr.split("(")[0]
您可以使用
re.sub
>>> mystr = "abcd (Read the tnc below!)"
>>>
>>> import re
>>> re.sub(r'\(.*', '', mystr)
'abcd '
删除括号之间的所有内容
>>> mystr = "abcd (Read the tnc below!)"
>>> re.sub(r'\(.*?\)', '', mystr)
'abcd '
我也会使用上面的
split
解决方案,但是如果您正在寻找一个正则表达式,它就像^(.*)一样简单\(
-这将匹配到第一个开括号是的,非常感谢。我的代码只是演示我们可以做什么。甚至这也属于这一类。我想问的是它是否有一个正则表达式,以便我只删除()而不是在它之外?再次感谢!@CoderAmogh答案就是你问题的解决方案…也许你应该将你的问题改进到这个功能,你需要请你再次阅读。我已经更新了这个问题。感谢你的回答。我只需要在()内删除,而不需要在()外删除。。。