Brace expansion: Difference between revisions
Content added Content deleted
(→{{header|Java}}: small changes) |
|||
Line 1,162: | Line 1,162: | ||
private static void expandR(String pre, String s, String suf) { |
private static void expandR(String pre, String s, String suf) { |
||
int i1 = -1, i2; |
int i1 = -1, i2 = 0; |
||
String noEscape = s.replaceAll("([\\\\]{2}|[\\\\][,}{])", " "); |
String noEscape = s.replaceAll("([\\\\]{2}|[\\\\][,}{])", " "); |
||
StringBuilder sb; |
StringBuilder sb = null; |
||
outer: |
outer: |
||
⚫ | |||
do { |
|||
⚫ | |||
i2 = i1 + 1; |
i2 = i1 + 1; |
||
sb = new StringBuilder(s); |
sb = new StringBuilder(s); |
||
for (int depth = 1; |
for (int depth = 1; i2 < s.length() && depth > 0; i2++) { |
||
char c = noEscape.charAt(i2); |
char c = noEscape.charAt(i2); |
||
depth = (c == '{') ? ++depth : depth; |
depth = (c == '{') ? ++depth : depth; |
||
Line 1,180: | Line 1,179: | ||
break outer; |
break outer; |
||
} |
} |
||
} |
} |
||
if (i1 == -1) { |
if (i1 == -1) { |
||
if (suf.length() > 0) |
if (suf.length() > 0) |