-
Notifications
You must be signed in to change notification settings - Fork 45
Expand file tree
/
Copy pathPatternFinder.java
More file actions
44 lines (30 loc) · 1.18 KB
/
PatternFinder.java
File metadata and controls
44 lines (30 loc) · 1.18 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
import java.util.ArrayList;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class PatternFinder {
private Formater cleaner = new Formater();
private ArrayList<Grocery> groceryObjectsList;
public Integer count() {
Pattern pattern = Pattern.compile("##");
String[] myRawData = pattern.split(Main.readRawDataToString());
return myRawData.length;
}
public Integer errors() {
Integer total = count();
ArrayList<Grocery> valid = createGroceryList();
System.out.println("\nTotal valid Grocery Items: " + valid.size());
return total - valid.size();
}
public ArrayList<Grocery> createGroceryList () {
String[] pairs = cleaner.splitItems();
groceryObjectsList = new ArrayList<>();
for (int i = 0; i < pairs.length; i++) {
Pattern names = Pattern.compile("([nN][aA][mM][Ee]:)([a-zA-Z0]+)([:!;*^@])([pP][rR][iI][cC][Ee]:)(\\d\\.\\d\\d)");
Matcher m = names.matcher(pairs[i]);
while (m.find()) {
groceryObjectsList.add(new Grocery(m.group(2), m.group(5)));
}
}
return groceryObjectsList;
}
}