aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus/core/util/data
diff options
context:
space:
mode:
authorAlkalus <3060479+draknyte1@users.noreply.github.com>2019-03-08 04:56:49 +0000
committerAlkalus <3060479+draknyte1@users.noreply.github.com>2019-03-08 04:56:49 +0000
commit40644c9f57ce7a931d9d955529583cc1cba623a5 (patch)
treead213db533bacc76cef7a07d9874bd21cb87ede4 /src/Java/gtPlusPlus/core/util/data
parent86c8b91b00624c7b1824b6b75290ed383338e48f (diff)
downloadGT5-Unofficial-40644c9f57ce7a931d9d955529583cc1cba623a5.tar.gz
GT5-Unofficial-40644c9f57ce7a931d9d955529583cc1cba623a5.tar.bz2
GT5-Unofficial-40644c9f57ce7a931d9d955529583cc1cba623a5.zip
+ Added ItemPackage.java. Allows better load control of item/recipe groupings.
$ Improved load handling of Chemistry Packages. $ Fixed bug in StringUtils.java.
Diffstat (limited to 'src/Java/gtPlusPlus/core/util/data')
-rw-r--r--src/Java/gtPlusPlus/core/util/data/StringUtils.java47
1 files changed, 46 insertions, 1 deletions
diff --git a/src/Java/gtPlusPlus/core/util/data/StringUtils.java b/src/Java/gtPlusPlus/core/util/data/StringUtils.java
index 2821a0c1c9..2372d04c15 100644
--- a/src/Java/gtPlusPlus/core/util/data/StringUtils.java
+++ b/src/Java/gtPlusPlus/core/util/data/StringUtils.java
@@ -1,6 +1,8 @@
package gtPlusPlus.core.util.data;
+import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.api.objects.data.AutoMap;
+import gtPlusPlus.core.util.Utils;
public class StringUtils {
@@ -134,19 +136,62 @@ public class StringUtils {
}
}
+
+
+ /**
+ * Is this a special regex character for delimination? (.$|()[]{}^?*+\\)
+ * @param aChar - The char to test
+ * @return - Is this a special character?
+ */
+ public static boolean isSpecialCharacter(char aChar) {
+ if (aChar == '"' || aChar == '.' || aChar == '$' || aChar == '|' || aChar == '(' || aChar == ')' || aChar == '['
+ || aChar == ']' || aChar == '{' || aChar == '}' || aChar == '^' || aChar == '?' || aChar == '*'
+ || aChar == '+' || aChar == '\\') {
+ return true;
+ }
+ return false;
+ }
+
+ public static boolean isEscaped(String aString) {
+ return aString.substring(0, 1).equals("\\");
+ }
+
public static String splitAndUppercase(String aInput, String aDelim) {
+
+ if (!isEscaped(aDelim)) {
+ boolean isSpecial = false;
+ for (int o=0;o<aInput.length();o++) {
+ if (isSpecialCharacter(aInput.charAt(o))) {
+ isSpecial = true;
+ }
+ }
+ if (isSpecial) {
+ aDelim = "\\"+aDelim;
+ }
+ }
+
+
+ Logger.INFO("Splitting "+aInput);
String[] aSplit = aInput.split(aDelim);
+ Logger.INFO("Split into "+aSplit == null ? ""+0 : aSplit.length+" parts.");
if (aSplit == null || aSplit.length == 0) {
return aInput;
}
else {
AutoMap<String> aTemp = new AutoMap<String>();
for (String s : aSplit) {
- aTemp.put(firstLetterCaps(s));
+ Logger.INFO("Found: "+s);
+ s = s.replace(".", "");
+ s = Utils.sanitizeString(s);
+ s = firstLetterCaps(s);
+ Logger.INFO("Formatted & Captilized: "+s);
+ aTemp.put(s);
}
+ Logger.INFO("Rebuilding");
String aReturn = "";
for (String s : aTemp) {
aReturn += s;
+ Logger.INFO("Step: "+aReturn);
}
return aReturn;
}