В строке найти подстроку и обрезать последний символ - C#
Формулировка задачи:
в строке наити подстроку и обрезать последний символ,если в подстроке в конце "-" , то перенести "-" в следующую подстроку
не получается почемуто, убрать символы
минус записать в следующую подстроку, не пойму как
using System; using System.Linq; using System.Text.RegularExpressions; namespace наити_подстроку_в_строке_и_изменить { class Program { static void Main(string[] args) { string linies = "1.3301;1.3337;1.3239;1.3273;;.7534-;29;2;107079;194564-;27443;1.6180B;1.2806;" + // нужно удалить в конце буквы "А" и "В" ;1.6180B; = ;1.6180; "1.3321;1.3358;1.3262;1.3295;;.7522-;29;0;34071;52032;17142;1.5850B;1.2827A;" + // найти "-" в конце и перенести в следующее поле ;.7522-;29; = ;.7522;-29; "6.6900;6.7068B;6.6834A;6.7025;;.1492;0.0190;0;28;135-;16;6.9102B;6.3689A;" + "6.7765;6.7950B;6.7765;6.7840;;.1474;0.0310;0;17;184-;11;6.9888B;6.5982;"; var fields = linies.Trim().Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries); char[] totrim = { 'A', 'B'}; Regex regex = new Regex(@"\d{3}[B|A]{1}"); Regex regex1 = new Regex(@"\d{1,}[-]{1}"); foreach (var field in fields) { if (regex.IsMatch(field)) { Console.WriteLine("есть совпадения "{0}" ", field); //field.Replace('A', ' '); // не изменяет field.Remove(field.Count() - 1); // не изменяет //field.TrimEnd(totrim); // не изменяет Console.WriteLine("изменили "{0}" ", field); Console.ReadKey(); } if (regex1.IsMatch(field)) { Console.WriteLine("есть совпадения "{0}" ", field); field.Remove(field.Count() - 1); // не изменяет Console.WriteLine("изменили "{0}" ", field); Console.ReadKey(); } } Console.ReadKey(); } } }
Решение задачи: «В строке найти подстроку и обрезать последний символ»
textual
Листинг программы
using System; class Program { public static void Main() { string lines = "1.3301;1.3337;1.3239;1.3273;;.7534-;29;2;107079;194564-;27443;1.6180B;1.2806;" + // нужно удалить в конце буквы "А" и "В" ;1.6180B; = ;1.6180; "1.3321;1.3358;1.3262;1.3295;;.7522-;29;0;34071;52032;17142;1.5850B;1.2827A;" + // найти "-" в конце и перенести в следующее поле ;.7522-;29; = ;.7522;-29; "6.6900;6.7068B;6.6834A;6.7025;;.1492;0.0190;0;28;135-;16;6.9102B;6.3689A;" + "6.7765;6.7950B;6.7765;6.7840;;.1474;0.0310;0;17;184-;11;6.9888B;6.5982;"; string[] mass = lines.Split(';'); for (int n = 0; n < mass.Length; n++) { if (mass[n].EndsWith("A") || mass[n].EndsWith("B")) { mass[n] = mass[n].Remove(mass[n].Length - 1); } if (mass[n].EndsWith("-")) { mass[n] = mass[n].Remove(mass[n].Length - 1); mass[n + 1] = "-" + mass[n + 1]; } } string new_lines = ""; foreach (string g in mass) { new_lines += g + ";"; } new_lines = new_lines.Remove(new_lines.Length - 1); Console.WriteLine(new_lines); } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д