如何打印在行中以“je”结尾的每个字符串
例如:
for line in sys.stdin:
for string in line:
if string ends with 'je':
print string
只有当字符串以'.... je'结尾时,才包含'je'。如果字符串以'.... je?'结尾或'.... je。'去掉 '? ,。 '。然后它应该打印字符串。帮助将不胜感激。
答案 0 :(得分:1)
假设你的字符串名称允许'?,'。它应该有效。
for line in sys.stdin:
for string in line:
string = string.strip('.,?')
if string.endswith('je'):
print(string)
答案 1 :(得分:1)
您的代码中存在两个问题。 for string in line:
将遍历每个字符,而不是每个字。顺便说一下,您不应该为变量string
命名。 for 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)
请注意,如果一个单词以多个?
或!
结尾,则会全部删除。