В строке найти подстроку и обрезать последний символ - 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);
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д