Python 删除包含特定字母的单词

Python 删除包含特定字母的单词,python,string,pandas,Python,String,Pandas,假设我有一根像 test = "hello Everyone! My name is Dan." 我想做一个函数,删除所有包含特定字母的单词,如 那我的绳子就断了 "hello My name is Dan." 我通过test.split(“”)尝试了这个方法,如果它包含特定的字母,则将其替换为'。然而,由于我有相当长的文档,它似乎有点低效 有没有其他简单紧凑的方法来解决这个问题 提前感谢!=] 如果在一个系列中的许多条目上执行此操作,可以执行以下操作: df['ser'] = df['se

假设我有一根像

test = "hello Everyone! My name is Dan."
我想做一个函数,删除所有包含特定字母的单词,如

那我的绳子就断了

"hello My name is Dan."
我通过
test.split(“”)
尝试了这个方法,如果它包含特定的字母,则将其替换为
'
。然而,由于我有相当长的文档,它似乎有点低效

有没有其他简单紧凑的方法来解决这个问题


提前感谢!=]

如果在一个系列中的许多条目上执行此操作,可以执行以下操作:

df['ser'] = df['ser'].str.replace(r'\w+[!.,]', '')

这将用空白替换方括号内任何字符后面的任何单词,对于熊猫系列来说,这是一种很好的矢量化方法

我相信你这样做是最快的方式,但你可能想在其中使用一些更快的关键字。试试这个:

test = "hello Everyone! My name is Dan."
words = test.split(" ")
words = [word for word in words if not "!" in word]
answer = " ".join(words)

对字符串使用replace方法,即`txt=“大家好!我的名字是丹。”

x=txt.replace(“所有人!”,“”)

打印(x)
`

您可以使用两种方法,
split
join
。所以基本上你的函数只有一行(return语句)

这是你作业的一部分吗?不要欺骗人,试一下自己,只有当你至少试过的时候才来这里;)

另外,我建议您使用REPL,这是一个极好的Python和其他语言的实时在线解释器。在那里检查这个解决方案


您可以列出一个列表,将您的特定字母放在其中,然后使用for将其替换为空格。像这样:

specific_chars=[';'、':'、'!'、“*”]
test=“大家好!我叫丹。”
对于特定字符中的i:
test_string=test.replace(i,“”)
打印(测试字符串)

由于您在问题中包含了
pandas
标记,请确保包含数据帧的示例。这不是动态的,因为在类似
txt='嘿,这里!'你将返回
但是它应该返回
嘿Eric,谢谢。应该是与字符串的字符匹配的正则表达式
  def removeChar(string , char):
      return "".join(string.split(char)) 

  result = removeChar("hello Everyone! My name is Dan.",'!')
  print (result)