我有这个字符串,我基本上是想在“$”出现后得到数字。例如,我希望输出如下:
>>> 100, 654, 123, 111.654
变量和字符串:
file = """| $100 on the first line
| $654 on the second line
| $123 on the third line
| $111.654 on the fourth line"""
现在,我有了一些代码,我认为这些代码可以帮助我区分数字。但我不明白为什么它只分开第四行。它只打印出111.654
txt = io.StringIO(file).getvalue()
idx = txt.rfind('$')
print(txt[idx+1:].split()[0])
有更简单的方法吗?还是我忘了什么
您的代码只找到最后一个
$
,因为这正是您编程它要做的。 获取整个输入,找到最后一个$
,然后拆分字符串的其余部分。这会特别忽略输入中的任何其他$
你引用“行”就好像它是你程序的一个单元,但是你没有做任何事情来迭代行。我建议您停止玩弄
io
,只需使用标准的file
操作。您可以在任何关于Python文件的教程中找到这一点同时,以下是您如何处理您的输入:
输出:
这能让你动起来吗
这应该够了!对于txt中的每个字符:如果是“$”,则继续,直到找到一个空格
输出:
正则表达式yay:
查找所有整数和浮点数,确保不会错误捕获尾随的“.”句点
相关问题 更多 >
编程相关推荐