假设我有一个类似
的字符串test = "hello Everyone! My name is Dan."
我想创建一个函数来删除所有包含特定字母的单词,例如!
那么我的字符串应该是
"hello My name is Dan."
我在test.split(' ')
处尝试过,如果包含特定字母,则将其替换为''
。但是,由于我的文档很长,所以效率似乎有点低。
还有其他简单紧凑的方法可以解决此问题吗?
提前谢谢! =]
答案 0 :(得分:2)
如果要对一系列条目中的大量条目进行此操作,则可以执行以下操作:
df['ser'] = df['ser'].str.replace(r'\w+[!.,]', '')
这会将方括号内任何字符后面的任何单词替换为空白,这是熊猫系列的一种很好的矢量化方法。
答案 1 :(得分:0)
我相信您这样做的方式是最快的方法,但是您可能希望在其中使用一些更快的关键字。试试这个:
test = "hello Everyone! My name is Dan."
words = test.split(" ")
words = [word for word in words if not "!" in word]
answer = " ".join(words)
答案 2 :(得分:0)
您可以同时使用两种方法split
和join
。因此,基本上,您的功能仅是一行(return语句)。
def removeChar(string , char):
return "".join(string.split(char))
result = removeChar("hello Everyone! My name is Dan.",'!')
print (result)
这是您家庭作业的一部分吗?不要欺骗男人,尝试自己,只有在您至少尝试过之后才来;)
我还建议您使用REPL,这是一种适用于Python和其他语言的出色的实时实时在线解释器。在此检查此解决方案
答案 3 :(得分:0)
您可以创建一个列表并将特定的字母放入其中,然后使用for将其替换为空格。像这样:
specific_chars = [';', ':', '!', "*"]
test = "hello Everyone! My name is Dan."
for i in specific_chars :
test_string = test.replace(i, '')
print(test_string)
答案 4 :(得分:-1)
对字符串使用替换方法,即txt =“大家好!我叫Dan。”
x = txt.replace(“所有人!”,“”)
打印(x) `