2017-02-25 97 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()然後分割字符串,默認情況下在空格處。最後,我們遍歷拆分字符串中與單個單詞相對應的所有字符串,並切割第一個和最後一個字符。

以此爲出發點,並根據需要進一步考慮的更復雜的字符串進行調整。

相關問題