如何从任何单词中删除 'ing'
how to remove 'ing' from any word
我需要从包含 ing 的单词末尾删除 ing。如果一个单词中没有 ing,那么不要做任何事情并打印它。
我尝试了一些使用 input
和 word - ing 的代码,但它们不起作用。
wrd = input("Word: ")
print(wrd - "ing")
如果你有像 springing 或 singing 这样的词,使用 re
:
import re
wrd = input("Word: ")
print(re.sub("ing$", "", wrd))
这是另一种方法:
>>> wrd = input("Word: ")
Word: wording
>>> print(wrd[:-3] if wrd[-3:] == "ing" else wrd)
'word'
>>>
这只会删除字符串末尾的 ing
。
原始代码:
print(wrd[:-3] if wrd[-3:] == "ing" else wrd)
这是一些时间测试:
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))
我的输出是:
2.3050724
0.3981412
0.37868440000000003
所以我回答的方法3最快
print(x[:-3] if x.endswith('ing') else x )
我需要从包含 ing 的单词末尾删除 ing。如果一个单词中没有 ing,那么不要做任何事情并打印它。
我尝试了一些使用 input
和 word - ing 的代码,但它们不起作用。
wrd = input("Word: ")
print(wrd - "ing")
如果你有像 springing 或 singing 这样的词,使用 re
:
import re
wrd = input("Word: ")
print(re.sub("ing$", "", wrd))
这是另一种方法:
>>> wrd = input("Word: ")
Word: wording
>>> print(wrd[:-3] if wrd[-3:] == "ing" else wrd)
'word'
>>>
这只会删除字符串末尾的 ing
。
原始代码:
print(wrd[:-3] if wrd[-3:] == "ing" else wrd)
这是一些时间测试:
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))
我的输出是:
2.3050724
0.3981412
0.37868440000000003
所以我回答的方法3最快
print(x[:-3] if x.endswith('ing') else x )