diff --git a/src/main/java/net/knarcraft/ffmpegconverter/utility/StringUtil.java b/src/main/java/net/knarcraft/ffmpegconverter/utility/StringUtil.java new file mode 100644 index 0000000..da4590b --- /dev/null +++ b/src/main/java/net/knarcraft/ffmpegconverter/utility/StringUtil.java @@ -0,0 +1,28 @@ +package net.knarcraft.ffmpegconverter.utility; + +/** + * A class which helps with operations on strings + */ +final class StringUtil { + + private StringUtil() { + } + + /** + * Finds all substrings between two substrings in a string + * @param string

The string containing the substrings.

+ * @param start

The substring before the wanted substring.

+ * @param end

The substring after the wanted substring.

+ * @return

A list of all occurrences of the substring.

+ */ + static String[] stringBetween(String string, String start, String end) { + int startPos = string.indexOf(start) + start.length(); + if (!string.contains(start) || string.indexOf(end, startPos) < startPos) { + return new String[]{}; + } + int endPos = string.indexOf(end, startPos); + String outString = string.substring(startPos, endPos).trim(); + String nextString = string.substring(endPos + end.length()); + return ListUtil.concatenate(new String[]{outString}, stringBetween(nextString, start, end)); + } +}