瀏覽代碼

completed

David Thornley 6 年之前
父節點
當前提交
7e2743dc6d
共有 4 個檔案被更改,包括 5454 行新增0 行删除
  1. 12
    0
      pom.xml
  2. 49
    0
      src/main/java/HamletParser.java
  3. 10
    0
      src/test/java/HamletParserTest.java
  4. 5383
    0
      target/classes/hamlet.txt

+ 12
- 0
pom.xml 查看文件

7
     <groupId>com.zipcodewilmington</groupId>
7
     <groupId>com.zipcodewilmington</groupId>
8
     <artifactId>regex</artifactId>
8
     <artifactId>regex</artifactId>
9
     <version>1.0-SNAPSHOT</version>
9
     <version>1.0-SNAPSHOT</version>
10
+    <build>
11
+        <plugins>
12
+            <plugin>
13
+                <groupId>org.apache.maven.plugins</groupId>
14
+                <artifactId>maven-compiler-plugin</artifactId>
15
+                <configuration>
16
+                    <source>7</source>
17
+                    <target>7</target>
18
+                </configuration>
19
+            </plugin>
20
+        </plugins>
21
+    </build>
10
 
22
 
11
     <dependencies>
23
     <dependencies>
12
         <dependency>
24
         <dependency>

+ 49
- 0
src/main/java/HamletParser.java 查看文件

1
 import java.io.File;
1
 import java.io.File;
2
 import java.io.IOException;
2
 import java.io.IOException;
3
+import java.util.ArrayList;
3
 import java.util.Scanner;
4
 import java.util.Scanner;
5
+import java.util.regex.Matcher;
6
+import java.util.regex.Pattern;
4
 
7
 
5
 /**
8
 /**
6
  * Created by thook on 10/7/15.
9
  * Created by thook on 10/7/15.
36
         return hamletData;
39
         return hamletData;
37
     }
40
     }
38
 
41
 
42
+    public int findHamlet() {
43
+        int hamletCount = 0;
44
+        Pattern findHamlet = Pattern.compile("\\bHamlet\\b|\\bHAMLET\\b");
45
+        Matcher hamlet = findHamlet.matcher(hamletData);
46
+        while(hamlet.find()){
47
+            hamletCount++;
48
+        }
49
+        return hamletCount;
50
+    }
51
+
52
+    public int findHoratio() {
53
+        int horatioCount = 0;
54
+        Pattern findHoratio = Pattern.compile("\\bHoratio\\b|\\bHORATIO\\b");
55
+        Matcher horatio = findHoratio.matcher(hamletData);
56
+        while(horatio.find()){
57
+            horatioCount++;
58
+        }
59
+        return horatioCount;
60
+    }
61
+
62
+    public String changeHoratioToTariq() {
63
+        Pattern findHoratio = Pattern.compile("\\bHoratio\\b");
64
+        Matcher horatio = findHoratio.matcher(hamletData);
65
+        horatio.find();
66
+        this.hamletData= horatio.replaceAll("Tariq");
67
+        Pattern findHoratio2 = Pattern.compile("\\bHORATIO\\b");
68
+        Matcher horatio2 = findHoratio2.matcher(hamletData);
69
+        horatio2.find();
70
+        this.hamletData= horatio2.replaceAll("TARIQ");
71
+
72
+        return hamletData;
73
+        }
74
+
75
+    public String changeHamletToLeon() {
76
+        Pattern findHamlet = Pattern.compile("\\Hamlet\\b");
77
+        Matcher hamlet = findHamlet.matcher(hamletData);
78
+        hamlet.find();
79
+        this.hamletData= hamlet.replaceAll("Leon");
80
+        Pattern findHamlet2 = Pattern.compile("\\HAMLET\\b");
81
+        Matcher hamlet2 = findHamlet2.matcher(hamletData);
82
+        hamlet2.find();
83
+        this.hamletData= hamlet2.replaceAll("Leon");
84
+
85
+        return hamletData;
86
+    }
39
 }
87
 }
88
+

+ 10
- 0
src/test/java/HamletParserTest.java 查看文件

1
 import org.junit.Before;
1
 import org.junit.Before;
2
 import org.junit.Test;
2
 import org.junit.Test;
3
 
3
 
4
+import java.util.ArrayList;
5
+
4
 import static org.junit.Assert.*;
6
 import static org.junit.Assert.*;
5
 
7
 
6
 public class HamletParserTest {
8
 public class HamletParserTest {
15
 
17
 
16
     @Test
18
     @Test
17
     public void testChangeHamletToLeon() {
19
     public void testChangeHamletToLeon() {
20
+        String answer =hamletParser.changeHamletToLeon();
21
+        assertTrue(hamletParser.findHamlet() == 0);
18
     }
22
     }
19
 
23
 
20
     @Test
24
     @Test
21
     public void testChangeHoratioToTariq() {
25
     public void testChangeHoratioToTariq() {
26
+    String answer =hamletParser.changeHoratioToTariq();
27
+    assertTrue(hamletParser.findHoratio() == 0);
22
     }
28
     }
23
 
29
 
24
     @Test
30
     @Test
25
     public void testFindHoratio() {
31
     public void testFindHoratio() {
32
+        assertTrue(hamletParser.findHoratio() == 158);
33
+        System.out.println(hamletParser.findHoratio());
26
     }
34
     }
27
 
35
 
28
     @Test
36
     @Test
29
     public void testFindHamlet() {
37
     public void testFindHamlet() {
38
+        assertTrue(hamletParser.findHamlet() == 471);
39
+        System.out.println(hamletParser.findHamlet());
30
     }
40
     }
31
 }
41
 }

+ 5383
- 0
target/classes/hamlet.txt
文件差異過大導致無法顯示
查看文件