打印字符串,如果字符串中符合特定字符结束
如何打印每一个在“JE”在一条线上打印字符串,如果字符串中符合特定字符结束
例如结尾的字符串:
for line in sys.stdin:
for string in line:
if string ends with 'je':
print string
且仅当该字符串以'.... je'结尾,所以不包含'je'。如果字符串以'.... je?'结尾或'.... je'。去掉 '? ,。 '。然后它应该打印字符串。帮助将不胜感激。
假设您的字符串名称dosent允许'?,。'完全可以工作。
for line in sys.stdin:
for string in line:
string = string.strip('.,?')
if string.endswith('je'):
print(string)
你的代码有两个问题。 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)
需要注意的是,如果一个词有几个?
或!
结束后,他们都将移除。
谢谢这一个作品 – Minero
有没有办法删除'je'?我只想要一个'...... je'而不是'je' – Minero
我编辑了我的代码。现在它也从字符串中删除'?'&'!'。 – Efferalgan
什么是*“一行中的每个字符串”*? – zvone
Dat huisje daar。 Dat boompje daar。 Een reisje hier。打印:huisje/boompje/reisje – Minero
那么,每一个**字**在一行吗? – zvone