如何根据文本文件中的特定单词过滤特定值并将其存储在列表中?
就像我有一个文本文件 abc.txt 一样,
we 2 rt 3 re 3 tr vh kn mo
we 3 rt 5 re 5 tr yh kn me
we 4 rt 6 re 33 tr ph kn m3
we 5 rt 9 re 34 tr oh kn me
we 6 rt 8 re 32 tr kh kn md
现在我想要针对 tr 的值,过滤后应该得到这个结果,
[vh,yh,ph,oh,kh]
任何人都可以告诉如何做到这一点。应该为其编写什么代码
Like i have a text file abc.txt and it is like this
we 2 rt 3 re 3 tr vh kn mo
we 3 rt 5 re 5 tr yh kn me
we 4 rt 6 re 33 tr ph kn m3
we 5 rt 9 re 34 tr oh kn me
we 6 rt 8 re 32 tr kh kn md
now i want the values against the tr and after filtering it should get this result
[vh,yh,ph,oh,kh]
can anyone tell how to do it.what code should be write for it
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(7)
如果始终是第 8 列,则应该有效。
如果 tr 的位置是可变的,你可以这样做
should work if it's always the 8th column.
If the position of
tr
is variable, you could do您可以将行拆分为 before
tr
和 aftertr
并获取第二部分中的第一个单词。如果有多个
tr
,则表达式将收集第一个之后的单词。或者,这个收集一行中最后一个tr
之后的单词:You can split the lines as before
tr
and aftertr
and obtain the first word in the second part.If there is more than one
tr
, the expression collects the word after the first one. Alternatively, this one collects the words after the lasttr
in a line:你的问题不太清楚。这就是你所追求的吗?
它返回每行的第八个“单词”。
Your question is not quite clear. Does this what you are after?
It returns the eighth "word" from every line.
如果我理解正确,类似这样的事情应该可以完成工作(未经测试):
If I understand correctly, something like this should do the job (not tested):
使用正则表达式不是更简单吗?
如果 'we' 、 'rt' 、 're' 、 'tr' 在它们的位置上确实是恒定的:
如果不是,那么位置就是确定要捕获的内容的标准:
Wouldn't be simpler to use a regex ?
If 'we' , 'rt' , 're' , 'tr' are really constant at their places :
If not, and then the position being the criterium to determine what to catch:
人们可以尝试以下操作:
如果“tr”恰好是所提供文本文件中的最后一个单词,则该算法不会失败。
例子:
One may try the following:
This algorithm does not fail in case 'tr' happens to be the last word in the provided text file.
Example: