improve split string using pattern (#11945)
This commit is contained in:
parent
c6e2b905f5
commit
2e4b518c4b
|
@ -3,8 +3,9 @@ package com.baeldung.split;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.regex.Matcher;
|
import java.util.regex.MatchResult;
|
||||||
import java.util.regex.Pattern;
|
import java.util.regex.Pattern;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
import com.google.common.base.Splitter;
|
import com.google.common.base.Splitter;
|
||||||
import com.google.common.collect.ImmutableList;
|
import com.google.common.collect.ImmutableList;
|
||||||
|
@ -29,16 +30,11 @@ public class SplitStringEveryNthChar {
|
||||||
}
|
}
|
||||||
|
|
||||||
public static List<String> usingPattern(String text, int n) {
|
public static List<String> usingPattern(String text, int n) {
|
||||||
List<String> results = new ArrayList<>();
|
return Pattern.compile(".{1," + n + "}")
|
||||||
|
.matcher(text)
|
||||||
Pattern pattern = Pattern.compile(".{1," + n + "}");
|
.results()
|
||||||
Matcher matcher = pattern.matcher(text);
|
.map(MatchResult::group)
|
||||||
while (matcher.find()) {
|
.collect(Collectors.toList());
|
||||||
String match = text.substring(matcher.start(), matcher.end());
|
|
||||||
results.add(match);
|
|
||||||
}
|
|
||||||
|
|
||||||
return results;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static List<String> usingGuava(String text, int n) {
|
public static List<String> usingGuava(String text, int n) {
|
||||||
|
|
Loading…
Reference in New Issue