java - 解析字符串以获取特定值
问题描述
我正在尝试从 string builder 获取值,我已将 string builder 转换为 string 以获取值,但无助于获取特定值。
我的字符串生成器输出是,
SN: 00486 Mode: 1
Temp. 15.4 C
Fat............... 0.0%
SNF............... 0.4%
进一步替换为类似的字符,
String i = stringBuilder.toString();
i = i.replaceAll("[^\\d.]", "");
我的输出是
004861.15.4...............0.0...............0.4
我希望我的输出只能得到 Temp 、 Fat 和 SNF 的那些值(数字),如果我使用任何循环,我如何用小数点克服这些点?请帮帮我。
预期输出,
Temp 为 15(两位数), Fat 为 0.0,SNF 为 0.4。
解决方案
试试这个,虽然它是一段丑陋的代码
StringBuilder sb=new StringBuilder("SN: 00486 Mode: 1\n" +
"Temp. 15.4 C\n" +
"Fat............... 0.0%\n" +
"SNF............... 0.4%");
String str=sb.toString();
str=str.replace("%","").replace("\n"," ");
String[] splt=str.split(" ");
String fullStr="";
for (String st: splt ) {
try {
Double num=Double.parseDouble(st);
fullStr+=num.toString()+"\n";
}catch (Exception ex){
}
}
System.out.println(fullStr);
这里所有的数字都是分开的。你也可以分开你想要的。
如果您需要澄清,请询问。
推荐阅读
- r - R:如何成功拆分和修剪数据
- java - java中ArrayList中的ArrayList
- path - 在 env 中识别 python
- javascript - 如何使用 jQuery 在 Kendo Grid 中获取选定的行
- python - 如何在python中实现概率分布的合并?
- python - 5.51 GiB 已分配;417.00 MiB 免费;PyTorch CUDA 总共保留 5.53 GiB 内存不足
- sql - 基于三张有限制的表的SQL查询
- flutter - flutter firebase streambuilder返回null错误
- amazon-web-services - 如何在 AWS 中部署 Spring Boot 微服务
- reactjs - 蚂蚁设计 3 年选择器选择的值不显示