gpt4 book ai didi

java - 当我使用正则表达式有数据时,如何将数据从字符串转换为整数

转载 作者:行者123 更新时间:2023-12-02 04:02:19 25 4
gpt4 key购买 nike

我正在获取字符串数据,并希望添加到数组中。但我得到的数据是字符串,并希望存储为整数。

代码:

             public static List<Integer> PriceData = new ArrayList<Integer>();
public static String FinalPrice;


Pattern Pricepattern = Pattern.compile("Price\\s*:\\s*(\\S*)");
Matcher Pricematcher = Pricepattern.matcher(Content);
if(Pricematcher.find()) { //we've found a match
FinalPrice = Pricematcher.group(1);
}

try
{

PriceData.add(Integer.parseInt(FinalPrice));

}
catch(NumberFormatException N)

{

System.out.println("Invalid Price Data");


}

输出:

最终价格:“10.35 美元”

PriceData:它总是会出现异常。在这里我想存储10.35

如果我将 Finalprice 声明为 Integer,那么也会遇到同样的问题。

最佳答案

您可以修复正则表达式以仅捕获价格,并且您应该解析为 float 或双倍。整数没有 float ,因此会抛出异常。另外 - NumberFormatException 是运行时异常,因此您不需要在这里尝试/捕获。示例如下:

public static void main (String[] args){
String finalPrice = null;
String price = "Price : \"$10.35\"";
String regex = "Price\\s:\\s\"\\$(\\d+.\\d+)\"";
Pattern Pricepattern = Pattern.compile(regex);
Matcher Pricematcher = Pricepattern.matcher(price);
if(Pricematcher.find()) { //we've found a match
finalPrice = Pricematcher.group(1);
}
float parsedPrice = Float.parseFloat(finalPrice);
System.out.println(parsedPrice);
}

关于java - 当我使用正则表达式有数据时,如何将数据从字符串转换为整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34768802/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com