Исправлен RegexHandler

Signed-off-by: Lev Rusanov <30170278+JDM170@users.noreply.github.com>
This commit is contained in:
2025-02-26 22:55:55 +07:00
parent 704103721f
commit eabf679407

View File

@@ -59,25 +59,50 @@ namespace SaveWizard_rewritten
public static string GetValue(int line) public static string GetValue(int line)
{ {
return Regex.Match(": (.+)$", lines[line]).Value; return Regex.Match(lines[line], ": (.+)$").Groups[1].ToString();
} }
public static void SetValue(int line, string value) public static void SetValue(int line, string value)
{ {
string name = Regex.Match("(.+):", lines[line]).Value; //string name = Regex.Match(lines[line], "(.+):").Value;
string name = Regex.Match(lines[line], "(.+):").Groups[1].ToString();
lines[line] = $"{name}: {value}"; lines[line] = $"{name}: {value}";
} }
//public static string GetUnitName(int line)
//{
// return Regex.Match(lines[line], " : (.+) {$").Groups[1].ToString();
//}
public static int GetArrayLength(int line) public static int GetArrayLength(int line)
{ {
return Convert.ToInt32(Regex.Match(": ([0-9]+)$", lines[line]).Value); //return Convert.ToInt32(Regex.Match(lines[line], ": ([0-9]+)$").Value);
return Convert.ToInt32(GetValue(line));
} }
//public static string GetArrayValueByIndex(int line, int index)
//{
// return Regex.Match(lines[line + index + 1], ": (.+)$").Groups[1].ToString();
//}
//public static int GetArrayIndexByValue(int line, string value)
//{
// int count = 0;
// for (int i = 0; i < GetArrayLength(line); i++)
// {
// if (GetValue(line + count + 1) == value)
// return count;
// count += 1;
// }
// return 0;
//}
public static List<string> GetArrayItems(int line) public static List<string> GetArrayItems(int line)
{ {
List<string> items = new List<string>(); List<string> items = new List<string>();
for (int i = 0; i < GetArrayLength(line); i++) for (int i = 0; i < GetArrayLength(line); i++)
items.Add(Regex.Match(": (.+)$", lines[line + i + 1]).Value); //items.Add(Regex.Match(lines[line + i + 1], ": (.+)$").Value);
items.Add(Regex.Match(lines[line + i + 1], ": (.+)$").Groups[1].ToString());
if (items.Count == 0) if (items.Count == 0)
return null; return null;
return items; return items;
@@ -85,10 +110,28 @@ namespace SaveWizard_rewritten
public static void AddArrayValue(int line, string value) public static void AddArrayValue(int line, string value)
{ {
string name = Regex.Match("(.+):", lines[line]).Value; //string name = Regex.Match(lines[line], "(.+):").Value;
string name = Regex.Match(lines[line], "(.+):").Groups[1].ToString();
int length = GetArrayLength(line); int length = GetArrayLength(line);
lines[line] = $"{name}: {length + 1}"; lines[line] = $"{name}: {length + 1}";
lines.Insert(line + length + 1, $"{name}[{length}]: {value}"); lines.Insert(line + length + 1, $"{name}[{length}]: {value}");
} }
//public static void RemoveArrayValue(int line, string value)
//{
// string name = Regex.Match(lines[line], "(.+):").Groups[1].ToString();
// lines.Remove(lines[line + 1 + GetArrayIndexByValue(line, value)]);
// int count = GetArrayLength(line);
// lines[line] = $"{name}: {count - 1}";
// for (int i = 0; i < count; i++)
// //lines[line + i + 1] = ("")
// lines[line + i + 1].Replace("[[0-9]+]", $"{i}");
//}
//public static void ChangeArrayValue(int line, int index, string value)
//{
// line += index + 1;
// SetValue(line, value);
//}
} }
} }