我已经完成了这段代码,但我不能得到字母“t” - 小写和大写 - 用空格替换。我的代码的格式应该是相同的,但我只需要帮助用空格替换“t”。例如,“桌子上的书”应该看起来像“他能够预订的书”。所以,几乎应该隐藏“t”。
def remoeT(aStr):
userInput = ""
while True:
string = raw_input("Enter a word/sentence you want to process:")
if string == "Quit":
return userInput
userInput = userInput + string
if aStr != False:
while "t" in userInput:
index = userInput.find("t")
userInput = userInput[:index] + userInput[index+1:]
while "T" in userInput:
index = userInput.find("T")
userInput = userInput[:index] + userInput[index+1:]
答案 0 :(得分:5)
要使用字符串t
中的空格替换所有出现的T
和input
,请使用以下内容:
input = input.replace('t', ' ').replace('T', ' ')
或使用正则表达式:
import re
input = re.sub('[tT]', ' ', input)
答案 1 :(得分:4)
为什么不简单地使用replace功能?
s = 'The book on the table thttg it Tops! Truely'
s.replace('t', ' ').replace('T', ' ')
的产率:
' he book on he able h g i ops! ruely'
可能不如使用正则表达式那么好,但功能正常。
然而,这似乎比正则表达式方法快得多(感谢@JoranBeasley激励基准测试):
timeit -n 100000 re.sub('[tT]', ' ', s)
100000 loops, best of 3: 3.76 us per loop
timeit -n 100000 s.replace('t', ' ').replace('T', ' ')
100000 loops, best of 3: 546 ns per loop
答案 2 :(得分:3)
使用正则表达式:
>>> import re
>>> st = "this is a sample input with a capital T too."
>>> re.sub('[tT]', ' ', st)
' his is a sample inpu wi h a capi al oo.'
另外,不要将变量命名为“string”;有一个隐藏的“字符串”类。