2016-10-02 133 views
-3

如何打印每一個在「JE」在一條線上打印字符串,如果字符串中符合特定字符結束

例如結尾的字符串:

for line in sys.stdin: 
    for string in line: 
     if string ends with 'je': 
      print string 

且僅當該字符串以'.... je'結尾,所以不包含'je'。如果字符串以'.... je?'結尾或'.... je'。去掉 '? ,。 '。然後它應該打印字符串。幫助將不勝感激。

+0

什麼是*「一行中的每個字符串」*? – zvone

+0

Dat huisje daar。 Dat boompje daar。 Een reisje hier。打印:huisje/boompje/reisje – Minero

+0

那麼,每一個**字**在一行嗎? – zvone

回答

1

假設您的字符串名稱dosent允許'?,。'完全可以工作。

for line in sys.stdin: 
    for string in line: 
     string = string.strip('.,?') 
     if string.endswith('je'): 
      print(string) 
1

你的代碼有兩個問題。 for string in line:會遍歷每一個字符,而不是通過每一個字。順便說一句,你不應該命名你的變量stringfor word in line.split():會做你所期望的。

另外,if string ends with 'je':應該是if word.endswith('je'):。如果您不想匹配確切的單詞「je」,則可以將其更改爲if word.endswith('je') and word != "je":

最終代碼,包括取消!?

f = open("a.txt", "r") 

for line in f: 
    for word in line.split(): 
     word = word.rstrip("!?") 
     if word.endswith('je') and word != "je": 
      print(word) 

需要注意的是,如果一個詞有幾個?!結束後,他們都將移除。

+0

謝謝這一個作品 – Minero

+0

有沒有辦法刪除'je'?我只想要一個'...... je'而不是'je' – Minero

+0

我編輯了我的代碼。現在它也從字符串中刪除'?'&'!'。 – Efferalgan

相關問題