Untitled
unknown
csharp
2 years ago
3.9 kB
3
Indexable
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.IO; using System.CodeDom; namespace Lab4 { internal class Program { const string CFd = "..\\..\\U1.txt"; const string CFr = "..\\..\\Rezultatai.txt"; static void Main(string[] args) { char[] skyrikliai = { ' ', '.', ',', '!', '?', ':', ';', '(', ')', '-', '~', '\t' }; Apdoroti(CFd, CFr, skyrikliai); PradiniaiDuomenys(CFd); } /// <summary> /// Pradiniu duomenu parodymas /// </summary> /// <param name="fv">failo duomenys</param> static void PradiniaiDuomenys(string fv) { string[] lines = File.ReadAllLines(fv, Encoding.UTF8); foreach (string line in lines) { if (line.Length > 0) { Console.WriteLine(line); } } } /// <summary> /// Apdoroja teksta /// </summary> /// <param name="fv">pradiniai duomenys</param> /// <param name="fvr">apdorotas tekstas</param> /// <param name="skyrikliai">simboliai</param> static void Apdoroti(string fv, string fvr, char[] skyrikliai) { string[] lines = File.ReadAllLines(fv, Encoding.UTF8); using (var fr = File.CreateText(fvr)) { string naujas = ""; foreach (string line in lines) { if (line.Length > 0) { naujas = SkirtingiSimboliai(line, skyrikliai); } if (naujas.Length > 0) { fr.WriteLine(naujas); } } } } /// <summary> /// Metodas kuris ismeta zodzius su skirtingais simboliais /// </summary> /// <param name="line">tekstas</param> /// <param name="skyrikliai">simboliai</param> /// <returns></returns> static string SkirtingiSimboliai(string line, char[] skyrikliai) { string naujas = line; string[] parts = line.Split(skyrikliai, StringSplitOptions.RemoveEmptyEntries); for (int i = 0; i < parts.Length; i++) { int dydis = 0; char[] zparts = parts[i].ToCharArray(); for (int j = 0; j < zparts.Length; j++) { for (int k = 0; k < zparts.Length; k++) { if (zparts[j] == zparts[k] && j != k) { dydis = 0; j = zparts.Length; break; } else if (j != k && zparts[j] != zparts[k]) { dydis = 1; continue; } } } if (dydis == 1) { int pos = naujas.IndexOf(parts[i]); //if (naujas.IndexOf(parts[i], pos + parts[i].Length) == -1) //{ // naujas = naujas.Remove(naujas.IndexOf(parts[i]), parts[i].Length); //} if (pos + parts[i].Length < naujas.Length) Console.WriteLine("{1} >{0}< {2}", naujas[pos + parts[i].Length], parts[i], naujas.IndexOf(parts[i], pos + parts[i].Length)); naujas = naujas.Remove(naujas.IndexOf(parts[i]), parts[i].Length); } } return naujas; } } }
Editor is loading...
Leave a Comment