我有一个长期的哄骗
String myStr = "PRODUCTION PERIOD 15 DAYS VALIDITY 30 DAYS TOTAL 2.117 BOXES VOLUME 231,78 m 3 NET WEİGHT 10.588,50 kg GROSS WEİGHT 11.700,00 kg"
我从pdf文件中读取了这个字符串。格式永不改变。但价值正在发生变化。
我希望得到有效期= 30 ,总计: 2117 净重: 10.588,50 等。每个pdf都会出现大胆的字数变化文件。
我不知道如何获得这些价值观。任何帮助都会被暗示。
答案 0 :(得分:0)
您可以使用myStr.split()
方法,然后迭代单词。
例如:
String myStr = "PRODUCTION PERIOD 15 DAYS VALIDITY 30 DAYS TOTAL 2.117 BOXES VOLUME 231,78 m 3 NET WEİGHT 10.588,50 kg GROSS WEİGHT 11.700,00 kg";
String[] words = myStr.split(" ");
for (int i = 0; i < words.length; i++){
if (words[i].toLowerCase().equals("validity")){
System.out.println("Validity is " + words[i + 1]);
}
if (words[i].toLowerCase().equals("total")){
System.out.println("Total is " + words[i + 1]);
}
if (words[i].toLowerCase().equals("volume")){
System.out.println("Volume is " + words[i + 1]);
}
}
输出:
Validity is 30
Total is 2.117
Volume is 231,78
答案 1 :(得分:-1)
您可以使用以下代码。尝试运行它,看看这是否是你要找的。您可以迭代pdf文件并执行此循环,如果需要一次处理1个pdf:
String myStr = "PRODUCTION PERIOD 15 DAYS VALIDITY 30 DAYS TOTAL 2.117 BOXES VOLUME 231,78 m 3 NET WEIGHT 10.588,50 kg GROSS WEİGHT 11.700,00 kg";
int idxValidity = myStr.indexOf("VALIDITY");
int idxDays = myStr.indexOf("DAYS TOTAL");
int idxTotal = myStr.indexOf("TOTAL");
int idxBoxes = myStr.indexOf("BOXES");
int idxWeight = myStr.indexOf("WEIGHT");
int idxKg = myStr.indexOf("kg");
System.out.println((myStr.substring(idxValidity, idxDays)).trim().replace(" ", "="));
System.out.println(myStr.substring(idxTotal, idxBoxes).trim().replace(" ", "="));
System.out.println(myStr.substring(idxWeight, idxKg).trim().replace(" ", "="));