我正在尝试从充满垃圾的文本中读取某些有用的信息,但它是一些传感器读数。我从这段代码中丢失了很多有用的信息
像'NH3 水平 l 是:9.9977'
必须有比这更有效的东西有人可以帮我吗
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class sensorclean {
final static String Array[] = new String[1000];
static int g = 0;
public static void main(String[] args) {
File file = new File("C:/Users/Omar/Desktop/datatest.txt");
try {
Scanner scanner = new Scanner(file);
while (scanner.hasNextLine()) {
String line = scanner.nextLine();
String newline=ignoreComments(line);
if(newline!=null)
Array[g] = newline;
g++;
}
for(int i =0; i<Array.length;i++){
if(Array[i]!=null)
{
Array[i] = Array[i].trim();
System.out.println(Array[i]);
}
}
}
catch (FileNotFoundException e)
{
e.printStackTrace();
}
}
private static String ignoreComments(String line) {
String result_line=null;
int upto=line.indexOf('#');
int upto1 = line.indexOf('ë');
int upto2 = line.indexOf('~');
int upto3 = line.indexOf('€');
int upto4 = line.indexOf('?');
if((upto!=0&&upto>0)&&(upto1!=0&&upto1>0)){
result_line=line.substring(1, upto4);
System.out.println("here");
}
else{
if(upto<0 && upto1<0 && upto2<0 && upto3<0 ){
result_line=line;
}/*else{
result_line="";
}*/
}
return result_line;
}
}
我的传感器读取温度并将其存储在 .txt 文件中。但它在其中添加了垃圾我正在开发一个从中提取有用信息的java
这是文件中的示例
ë~^€}3¢@iw4R#}3¢@iw CO 水平为:101.0831,CO2 水平为:375.2046,NH3 水平为:9.9977 ?~O€}3¢@isGR# -mac:0013A20040691673,-time :星期三,12/11/14 - 14:06.56,E~G€}3¢@isGR#}3¢@is TEMP: 51.9354, HUMIDITY is: 9.6129, bat: 63%
~_€}3¢@isGR#}3¢@is CO 水平为:106.1330,CO2 水平为:374.7616,NH3 水平为:86.7625 ?~O€}3¢@if:R# -mac:0013A20040691666,-时间:星期三,12/11/14 - 14:09.20,é~I€}3¢@if:R#}3¢@if TEMP: 280.0000, HUMIDITY is: 17.7677, bat: 96% I~^€}3 ¢@if:R#}3¢@如果 CO 水平为:128.8912,CO2 水平为:375.6922,NH3 水平为:9.9977 E~O€}3¢@iw2R# -mac:0013A20040691677,-时间:星期三,12 /11/14 - 14:12.11, ?~H€}3¢@iw4R#}3¢@iw TEMP: 20.3225, HUMIDITY is: 19.3161, bat: 87 % ?~^€}3¢@iw1R#}3¢ @iw CO 浓度为:101.0831,CO2 浓度为:375.1160,NH3 浓度为:9.9977?
这种垃圾并不总是相同的,它的变化
这是我当前的代码