如果行中的字符串以特定字符结尾,则打印字符串

时间:2016-10-02 19:32:22

标签: python string file character line

如何打印在行中以“je”结尾的每个字符串

例如:

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

只有当字符串以'.... je'结尾时,才包含'je'。如果字符串以'.... je?'结尾或'.... je。'去掉 '? ,。 '。然后它应该打印字符串。帮助将不胜感激。

2 个答案:

答案 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)

请注意,如果一个单词以多个?!结尾,则会全部删除。

相关问题