2017-02-25 55 views
-1

我应该用Python编写代码来删除字符串的每个单词中的第一个和最后一个字母,具体取决于某个变量。到目前为止,我已经尝试了多种方法,每一次我得到了一些错误:删除字符串的每个单词中的第一个和最后一个字母

def trimWords(s, fromStart=1, fromEnd = 1): 
    return [word - word[:fromStart] - word[-fromEnd:] for word in s if word > fromStart + fromEnd] 

这是我想出但不幸的是它给我留下了,我无法找到一个TypeError。

+0

欢迎来到StackOverflow。你应该阅读[FAQ](http://stackoverflow.com/tour),[如何提问](http://stackoverflow.com/help/how-to-ask),以及[如何创建最小,完成和可验证示例](http://stackoverflow.com/help/mcve) 问更好的问题。在这种情况下,在第二行中使用适当的缩进,并给出您获得的错误消息的完整示例输入和回溯。 –

回答

1

访问字符串作为一个数组,并使用slicing

def trim_word(word, from_start=0, from_end=0): 
    return word[from_start:len(word) - from_end] 

print(trim_word('hello')) # 'hello' 
print(trim_word('hello',1,1)) # 'ell' 

注:无边界条件被认为

0

这个例子可以帮助你

s = ":dfa:sif:e" print s[1:]

0

所以我想你想删除字符串每个单词中的第一个和最后一个字母,比如说,像一个句子。 这个怎么样的一个出发点:

import string 
s = "The quick brown fox, and so on." 
s = [a[1:-1] for a in s.translate(None, string.punctuation).split()] 
print s 

输出:

['h', 'uic', 'row', 'o', 'n', '', ''] 

s.translate(None, string.punctuation)将删除字符串中的所有标点符号,如解释here.split()然后分割字符串,默认情况下在空格处。最后,我们遍历拆分字符串中与单个单词相对应的所有字符串,并切割第一个和最后一个字符。

以此为出发点,并根据需要进一步考虑的更复杂的字符串进行调整。

相关问题