如何从任何单词中删除“ ing”

pra*_*nny -2 python string input cpu-word slice

我需要从其中包含ing的单词的末尾删除ing。如果一个字没有荷兰国际集团在里面,那就不要做任何事情,打印。

我已经尝试了一些使用input和单词的代码-但它们不起作用。

wrd = input("Word: ")
print(wrd - "ing")
Run Code Online (Sandbox Code Playgroud)

U10*_*ard 6

如果您有弹跳或唱歌之类的词,请使用re

import re
wrd = input("Word: ")
print(re.sub("ing$", "", wrd))
Run Code Online (Sandbox Code Playgroud)

  • 想要尝试使用“获胜”一词吗? (3认同)
  • 您应该删除答案中的“ rstrip”部分。这是不对的。 (3认同)

Bla*_*der 5

这是另一种方法:

>>> wrd = input("Word: ")
Word: wording
>>> print(wrd[:-3] if wrd[-3:] == "ing" else wrd)
'word'
>>> 
Run Code Online (Sandbox Code Playgroud)

这只会删除ing字符串末尾的。

原始代码:

print(wrd[:-3] if wrd[-3:] == "ing" else wrd)
Run Code Online (Sandbox Code Playgroud)

这是一些时间测试:

import timeit
import re

wrd = "counting timeing"

def method1():
    re.sub("ing$", "", wrd)

def method2():
    wrd[:-3] if wrd.endswith('ing') else wrd

def method3():
    wrd[:-3] if wrd[-3:] == "ing" else wrd

print(timeit.timeit(method1))
print(timeit.timeit(method2))
print(timeit.timeit(method3))
Run Code Online (Sandbox Code Playgroud)

对我来说输出是:

2.3050724
0.3981412
0.37868440000000003

所以我回答的方法3是最快的