X-Git-Url: http://www2.svjatoslav.eu/gitweb/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Feu%2Fsvjatoslav%2Fcommons%2Fstring%2FString2.java;h=8d7273d8235bbfe0bbb28b294169fc22f6fa753f;hb=5cb739fecf46c9720fbdcb093364d55055d0d1f6;hp=6b36b5b535ccba591e39b58abf3e593de25913dd;hpb=49c08724984dbcc1bb45fc0c8a4cf3bf7b627178;p=svjatoslav_commons.git diff --git a/src/main/java/eu/svjatoslav/commons/string/String2.java b/src/main/java/eu/svjatoslav/commons/string/String2.java index 6b36b5b..8d7273d 100755 --- a/src/main/java/eu/svjatoslav/commons/string/String2.java +++ b/src/main/java/eu/svjatoslav/commons/string/String2.java @@ -6,25 +6,38 @@ package eu.svjatoslav.commons.string; import java.util.ArrayList; import java.util.List; +import java.util.regex.Matcher; +import java.util.regex.Pattern; public class String2 { private final List chars = new ArrayList<>(); + public String2 clear(){ + chars.clear(); + return this; + } + public String2(String value) { - addSuffix(value); + append(value); + } + + public String2() { } public String2 repeat(int count){ - String value = toString(); + if (count > 0) { + String value = toString(); - for (int i = 1; i < count; i++) { - addSuffix(value); + for (int i = 1; i < count; i++) + append(value); + } else { + clear(); } return this; } - public String2 addPrefix(final String prefix) { + public String2 prepend(final String prefix) { if (prefix == null) return this; @@ -35,7 +48,7 @@ public class String2 { return this; } - public String2 addSuffix(final String suffix) { + public String2 append(final String suffix) { if (suffix == null) return this; @@ -45,15 +58,21 @@ public class String2 { return this; } - public String2 addSuffix(String separator, final String suffix) { + public String2 appendWithSeparator(String separator, final String suffix) { if (!isEmpty()) - addSuffix(separator); + append(separator); + + append(suffix); - addSuffix(suffix); + return this; + } + public String2 append(String s, int times) { + for (int i = 0; i < times; i++) append(s); return this; } + /** * Cut given amount of characters from the left of the string. * @@ -156,4 +175,19 @@ public class String2 { public String toString() { return getSubString(0, chars.size()); } + + + public static String[] getGroups(String s, String regexp){ + Pattern pattern = Pattern.compile(regexp); + Matcher matcher = pattern.matcher(s); + + matcher.find(); + String[] result = new String[matcher.groupCount()]; + + for (int i = 0; i< result.length; i++){ + result[i] = matcher.group(i+1); + } + + return result; + } }