diff options
| author | bjculkin <bjculkin@mix.wvu.edu> | 2018-03-01 19:12:12 -0500 |
|---|---|---|
| committer | bjculkin <bjculkin@mix.wvu.edu> | 2018-03-01 19:12:12 -0500 |
| commit | 6cbb03d653aeb12f9d33b2ab75383f5b506cb912 (patch) | |
| tree | 68cdbb5b45e52ea7ce1f20d3c5a777fb1cbb8101 /base/src/main/java/bjc/utils/funcutils | |
| parent | 10beb8e502ec8cbb02162a09da2d826ea2a1b1fc (diff) | |
Update
Diffstat (limited to 'base/src/main/java/bjc/utils/funcutils')
| -rw-r--r-- | base/src/main/java/bjc/utils/funcutils/StringUtils.java | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/base/src/main/java/bjc/utils/funcutils/StringUtils.java b/base/src/main/java/bjc/utils/funcutils/StringUtils.java index 0080dd1..1d0b060 100644 --- a/base/src/main/java/bjc/utils/funcutils/StringUtils.java +++ b/base/src/main/java/bjc/utils/funcutils/StringUtils.java @@ -1,9 +1,14 @@ package bjc.utils.funcutils; +import java.util.ArrayList; import java.util.Deque; +import java.util.List; import java.util.regex.Matcher; import java.util.regex.Pattern; +import bjc.utils.data.BooleanToggle; +import bjc.utils.parserutils.TokenUtils; + import com.ibm.icu.text.BreakIterator; /** @@ -224,4 +229,29 @@ public class StringUtils { return strang.substring(0, strang.indexOf(vx)); } + + /** + * Split a line into a series of space-separated arguments, including + * string literals. + * + * @param com + * The command to split from + * @return The split arguments. + */ + public static List<String> processArguments(String com) { + List<String> strings = new ArrayList<>(); + + BooleanToggle togg = new BooleanToggle(); + + for(String strang : TokenUtils.removeDQuotedStrings(com)) { + if(togg.get()) { + strings.add(TokenUtils.descapeString(strang)); + } else { + for(String strung : strang.split("\\s+")) { + strings.add(strung); + } + } + } + return strings; + } } |
