gpt4 book ai didi

java - 从字符串中获取第一个具有随机数字的值

转载 作者:行者123 更新时间:2023-11-30 08:19:43 24 4
gpt4 key购买 nike

在我的应用程序中,我收到了这样一个字符串:

String1 = "[6, I.3, Contaminación Mecánica, 0.0, 0.0, 0.0, 196.875, 0.0, 196.875]";
String2 = "[16, E.19, Errores de los usuarios, 0.0, 0.0, 3281.25, 0.0, 0.0, 3281.25]";

从这个字符串中我只需要第一个值(来自 String1 和 String2)。这已解决,使用此代码您可以获得前两位数字:

    String Amenaza = InformeAmenazasAGR.get(i).toString();
Amenaza = Amenaza.substring(1,3);
Amenaza = Amenaza.replace(",","");

现在我也可以收到这个字符串了

 String3 = "[39854, R.01, Robo Outdoor, 0.0, 84000.0, 24500.0, 24500.0, 0.0, 133000.0]";

我试过

    String Amenaza = InformeAmenazasAGR.get(i).toString();
Amenaza = Amenaza.substring(1,6);
Amenaza = Amenaza.replace(",","");

但是当第一个值只有1位时,获取第二个值的字符,这个代码可以有5位以上。如果有随机数字,我如何才能只获得第一个值?。

提前谢谢你。

最佳答案

使用 substring/indexOf(如果你问我,首选方式)

String firstNumber = string1.substring(1, s1.indexOf(','));

第一个参数 (1) 确保您不包含 [ 字符,第二个参数是第一个 的索引,字符。

使用正则表达式(如果您想将其概括为包含其他数字,则很有用

Pattern p = Pattern.compile("\\[(\\d+),");
Matcher m = p.matcher(s1);
m.find();
System.out.println(m.group(1));

请注意,模式对象可以重复用于多次数字提取。

关于拆分的一点警告:看起来字符串很长,您只对其中的一小部分感兴趣。 split 的作用是返回原始字符串的 View ,因此您的程序仍然保留着大字符串。如果对大量字符串执行此操作,则可能会遇到内存不必要的内存问题。

关于java - 从字符串中获取第一个具有随机数字的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26627978/

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