【发布时间】:2014-11-25 15:40:27
【问题描述】:
到目前为止,我正在尝试解析一个 html 标签,我得到的文本如下:
“指导价 50,000 英镑”
或
“50,000 英镑”
甚至
“50,000 英镑 - 55,000 英镑”
在第三种情况下,为了让事情更简单,我只需要列出第一个价格。
我的问题是如何将以下数字转换为 int 或 double,最好是 int,因为这些数字非常大。数字格式化程序会这样做还是我需要一个正则表达式,特别是如果一些文本尾随标签块。
到目前为止的示例
String priceNumber = url.select("span.price").text(); //using JSoup Libary
String priceNumber = priceNumber.replaceAll("[^\\d.])
这会删除我认为不是数字的所有内容。 如果示例中有 2 个数字,我如何获得第一个?
【问题讨论】:
-
你能提供一个你现在拥有的代码示例吗?
-
字符串也是不可变的,所以我的例子不是很好,我需要一个字符串缓冲区的例子来选择第一个数字减去逗号、点和货币符号并将其作为整数返回
-
您不需要 StringBuffer(或 StringBuilder,如果您需要这样的东西,它应该是您的首选)。只需将
replaceAll()返回的值分配给一个字符串变量,就像您现在所做的那样。你的那部分代码很好。
标签: java regex currency number-formatting