【问题标题】:How to extract amount debited amount from SMS?如何从短信中提取金额借记金额?
【发布时间】:2020-10-03 06:13:10
【问题描述】:

我想从短信中提取扣款

我的短信内容是

于 2020 年 8 月 1 日在 Kotak 借记卡 X2694 上以#Acount Number# 提取现金 3,000.00 卢比。Avl bal 为 110.32 卢比。不是你吗?请访问 kotak.com/fraud。非 Kotak ATM 上的交易每月收取 5 次以上的费用(Metro 地点为 3 次),如果适用,根据您的帐户变体收取。详情请访问www.kotak.com

【问题讨论】:

  • regex = /withdrawal of Rs([0-9,.]*)/gi

标签: android android-developer-api


【解决方案1】:

正如 Anunay 所建议的,正则表达式可以用一行代码解决您的问题。

就个人而言,我是正则表达式的新手。我可以建议的一种天真的方法是根据“Rs”和“.”的出现来解析字符串。 然后,删除所有 (,) 逗号并将字符串转换为浮点数。

messageString = 'Your message as a String'
startIndex = messageString.index('Rs') + 2
endIndex = messageString.index('.') + 3
debitAmount = float(messageString[startIndex: endIndex].replace(',',''))
print(debitAmount)

对不起,我的 Python 实现。

【讨论】:

  • 虽然您的答案可能完全正确,但尝试看看 OP 先做了什么总是一个好主意,我们都必须付出一些努力来解决我们自己的问题,这不是真的一个好主意在没有 OP 的情况下给出答案,至少从他们这边发布某种形式的努力
  • 你的答案是正确的,但正则表达式更快,更好的方法。你应该考虑学习正则表达式。
  • @AlphaOne 我会说这是一个非常好的答案,虽然正则表达式可能更好,但是 OP 是一个新手,所以这对于 OP 来说是一个很好的思考方法。
  • @Anunay 是的,这是一个很好的答案。我已经投票了。
  • 非常感谢您的支持。这是我第一次尝试在 Stach Overflow 上尽可能地回答。 @AlphaOne 我从来不需要学习正则表达式,感谢社区,但我一定会学习它。谢谢!这让我很开心。
猜你喜欢
  • 1970-01-01
  • 2022-06-13
  • 2020-10-09
  • 2016-03-17
  • 2022-08-03
  • 2022-10-21
  • 1970-01-01
  • 2016-12-28
  • 2019-01-25
相关资源
最近更新 更多