Skip to content

Commit e76812f

Browse files
committed
Precompile regex
1 parent bf1d634 commit e76812f

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

core/src/main/java/fj/function/Strings.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@
33
import fj.F;
44
import fj.data.List;
55
import fj.data.Stream;
6+
7+
import java.util.regex.Pattern;
8+
69
import static fj.Function.curry;
710
import static fj.function.Booleans.not;
811
import static fj.function.Characters.isWhitespace;
@@ -17,6 +20,8 @@ private Strings() {
1720
throw new UnsupportedOperationException();
1821
}
1922

23+
private static final Pattern lineSeparatorPattern = Pattern.compile("\\r?\\n");
24+
2025
public static final String lineSeparator = System.getProperty("line.separator");
2126

2227
/**
@@ -76,7 +81,7 @@ private Strings() {
7681
public static final F<String, F<String, Boolean>> matches = curry((s1, s2) -> s2.matches(s1));
7782

7883
public static List<String> lines(String s) {
79-
return List.list(s.split("\\r?\\n"));
84+
return List.list(lineSeparatorPattern.split(s));
8085
}
8186

8287
public static F<String, List<String>> lines() {

0 commit comments

Comments
 (0)